From 48ddab6b784d997128a9a4e1870cf575d5ebeddc Mon Sep 17 00:00:00 2001 From: vipul-09 Date: Sat, 30 May 2026 01:45:08 +0530 Subject: [PATCH 1/5] Add initial unit tests for misc module --- unit_tests/__init__.py | 0 unit_tests/test_misc.py | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 unit_tests/__init__.py create mode 100644 unit_tests/test_misc.py diff --git a/unit_tests/__init__.py b/unit_tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/unit_tests/test_misc.py b/unit_tests/test_misc.py new file mode 100644 index 000000000..5955b4c8c --- /dev/null +++ b/unit_tests/test_misc.py @@ -0,0 +1,19 @@ +import sys + +sys.path.append( + "src/converter/schematic_converters/lib/PythonLib" +) + +import misc + + +def test_strip_num_from_ref_resistor(): + assert misc.stripNumFromRef("R10") == "R" + + +def test_strip_num_from_ref_capacitor(): + assert misc.stripNumFromRef("C25") == "C" + + +def test_strip_num_from_ref_transistor(): + assert misc.stripNumFromRef("Q100") == "Q" \ No newline at end of file From e32bad2666a955425094bd4fd465c7d36fcc71a3 Mon Sep 17 00:00:00 2001 From: vipul-09 Date: Sat, 30 May 2026 01:52:22 +0530 Subject: [PATCH 2/5] Add unit tests for skipTo function --- unit_tests/test_misc.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_misc.py b/unit_tests/test_misc.py index 5955b4c8c..9652f96d6 100644 --- a/unit_tests/test_misc.py +++ b/unit_tests/test_misc.py @@ -16,4 +16,30 @@ def test_strip_num_from_ref_capacitor(): def test_strip_num_from_ref_transistor(): - assert misc.stripNumFromRef("Q100") == "Q" \ No newline at end of file + assert misc.stripNumFromRef("Q100") == "Q" + +from io import StringIO + +def test_skip_to_found(): + stream = StringIO( + "abc\n" + "def\n" + "*symbol transistor\n" + "xyz\n" + ) + + result = misc.skipTo(stream, "*symbol") + + assert result == "*symbol transistor" + + +def test_skip_to_not_found(): + stream = StringIO( + "abc\n" + "def\n" + "xyz\n" + ) + + result = misc.skipTo(stream, "*symbol") + + assert result == "__ERROR__" \ No newline at end of file From 516a933c49189969e8074ee623b3521b3a73f105 Mon Sep 17 00:00:00 2001 From: vipul-09 Date: Sat, 30 May 2026 01:59:12 +0530 Subject: [PATCH 3/5] Add unit tests for fixInst reference handling --- unit_tests/test_misc.py | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_misc.py b/unit_tests/test_misc.py index 9652f96d6..db32d51c3 100644 --- a/unit_tests/test_misc.py +++ b/unit_tests/test_misc.py @@ -1,4 +1,13 @@ import sys +class MockAttr: + def __init__(self, value): + self.value = value + + +class MockInst: + def __init__(self, type_, attrs): + self.type_ = type_ + self.attrs = attrs sys.path.append( "src/converter/schematic_converters/lib/PythonLib" @@ -42,4 +51,24 @@ def test_skip_to_not_found(): result = misc.skipTo(stream, "*symbol") - assert result == "__ERROR__" \ No newline at end of file + assert result == "__ERROR__" + +def test_fix_inst_j_reference(): + inst = MockInst( + "ANY", + [MockAttr("J10")] + ) + + misc.fixInst(inst) + + assert inst.attrs[0].value == "J?" + +def test_fix_inst_m_reference(): + inst = MockInst( + "ANY", + [MockAttr("M25")] + ) + + misc.fixInst(inst) + + assert inst.attrs[0].value == "M?" \ No newline at end of file From 92bf3738ee8b0667fcc20b68321387fc363f1fbe Mon Sep 17 00:00:00 2001 From: vipul-09 Date: Sat, 30 May 2026 02:01:38 +0530 Subject: [PATCH 4/5] Add unit tests for fixInst voltage sources --- unit_tests/test_misc.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_misc.py b/unit_tests/test_misc.py index db32d51c3..4e45020f7 100644 --- a/unit_tests/test_misc.py +++ b/unit_tests/test_misc.py @@ -71,4 +71,24 @@ def test_fix_inst_m_reference(): misc.fixInst(inst) - assert inst.attrs[0].value == "M?" \ No newline at end of file + assert inst.attrs[0].value == "M?" + +def test_fix_inst_vac_source(): + inst = MockInst( + "VAC", + [MockAttr("V1"), MockAttr("VAC")] + ) + + misc.fixInst(inst) + + assert inst.attrs[1].value == "AC" + +def test_fix_inst_vsin_source(): + inst = MockInst( + "VSIN", + [MockAttr("V1"), MockAttr("VSIN")] + ) + + misc.fixInst(inst) + + assert inst.attrs[1].value == "SINE" \ No newline at end of file From c67c2f6e67d2115a6f71747f2fdc4369b683aef7 Mon Sep 17 00:00:00 2001 From: vipul-09 Date: Sat, 30 May 2026 02:04:35 +0530 Subject: [PATCH 5/5] Add unit tests for fixInst plot and ground sources --- unit_tests/test_misc.py | 44 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_misc.py b/unit_tests/test_misc.py index 4e45020f7..59647b5e9 100644 --- a/unit_tests/test_misc.py +++ b/unit_tests/test_misc.py @@ -91,4 +91,46 @@ def test_fix_inst_vsin_source(): misc.fixInst(inst) - assert inst.attrs[1].value == "SINE" \ No newline at end of file + assert inst.attrs[1].value == "SINE" + +def test_fix_inst_vplot2(): + inst = MockInst( + "VPLOT2", + [MockAttr("X1"), MockAttr("VPLOT2")] + ) + + misc.fixInst(inst) + + assert inst.attrs[0].value == "U?" + assert inst.attrs[1].value == "VPLOT8" + +def test_fix_inst_vprint2(): + inst = MockInst( + "VPRINT2", + [MockAttr("X1"), MockAttr("VPRINT2")] + ) + + misc.fixInst(inst) + + assert inst.attrs[0].value == "U?" + assert inst.attrs[1].value == "VPRINT" + +def test_fix_inst_agnd(): + inst = MockInst( + "AGND", + [MockAttr("GND")] + ) + + misc.fixInst(inst) + + assert inst.type_ == "GND" + +def test_fix_inst_egnd(): + inst = MockInst( + "EGND", + [MockAttr("GND")] + ) + + misc.fixInst(inst) + + assert inst.type_ == "GND" \ No newline at end of file