def testcase_01(self): o = AndGate() o.Input0 = False o.Input1 = False o.execute() self.assertFalse(o.Output, "Class AndGate: Testcase 1 failed.")
def __init__(self, parent=None, position=(0, 0)): super(FullAdder, self).__init__(parent=parent, name="Full Adder", rect=Rect(position[0], position[1], 67, 86)) # self.display_frame = True self.child_components.append(XorGate(parent=self, position=(12, 0))) self.child_components.append(XorGate(parent=self, position=(37, 16))) self.child_components.append(AndGate(parent=self, position=(12, 32))) self.child_components.append(AndGate(parent=self, position=(12, 54))) self.child_components.append(OrGate(parent=self, position=(37, 43))) self.external_patches["A"] = ExternalPatch( \ parent=self, direction=True, position=(0, 11)) self.external_patches["B"] = ExternalPatch( \ parent=self, direction=True, position=(0, 19)) self.external_patches["Cin"] = ExternalPatch( \ parent=self, direction=True, position=(0, 35)) self.external_patches["S"] = ExternalPatch( \ parent=self, direction=False, position=(self.get_width(), 31)) self.external_patches["Cout"] = ExternalPatch( \ parent=self, direction=False, position=(self.get_width(), 58)) # A in junction point_a = (self.child_components[0].external_patches["A"]. get_relative_position_to_parent()[0] / 2 - 2, 11) j = Junction(parent=self, position=point_a).one_two_junction() self.child_components.append(j) patch_a = j.external_patches["A"] patch_b = self.external_patches["A"] self.auto_connect("in_a", patch_a, patch_b, internal_b=False) patch_a = j.external_patches["S1"] patch_b = self.child_components[0].external_patches["A"] self.auto_connect("in_a_xor", patch_a, patch_b) patch_a = self.child_components[3].external_patches["A"] patch_b = j.external_patches["S2"] self.auto_connect("in_a_and", patch_a, patch_b, offcet=-6) # B in junction point_a = (self.child_components[0].external_patches["B"]. get_relative_position_to_parent()[0] / 2 - 6, 19) j = Junction(parent=self, position=point_a).one_two_junction() self.child_components.append(j) patch_a = j.external_patches["A"] patch_b = self.external_patches["B"] self.auto_connect("in_b", patch_a, patch_b, internal_b=False) patch_a = j.external_patches["S1"] patch_b = self.child_components[0].external_patches["B"] self.auto_connect("in_b_xor", patch_a, patch_b) patch_a = self.child_components[3].external_patches["B"] patch_b = j.external_patches["S2"] self.auto_connect("in_b_and", patch_a, patch_b, offcet=-8) # Cin junction point_a = (self.child_components[1].external_patches["B"]. get_relative_position_to_parent()[0] / 2 - 8, 35) j = Junction(parent=self, position=point_a).one_two_junction() self.child_components.append(j) patch_a = j.external_patches["A"] patch_b = self.external_patches["Cin"] self.auto_connect("cin", patch_a, patch_b, internal_b=False) patch_a = j.external_patches["S1"] patch_b = self.child_components[1].external_patches["B"] self.auto_connect("cin_xor_b", patch_a, patch_b) patch_a = self.child_components[2].external_patches["B"] patch_b = j.external_patches["S2"] self.auto_connect("cin_or_b", patch_a, patch_b, offcet=-3) # Xor to Xor and And point_a = self.child_components[1].external_patches[ "A"].get_relative_position_to_parent() point_b = self.child_components[0].external_patches[ "S"].get_relative_position_to_parent() point_a = ((point_b[0] - point_a[0]) / 2 + point_a[0], point_a[1]) j = Junction(parent=self, position=point_a).one_two_junction() self.child_components.append(j) patch_a = j.external_patches["A"] patch_b = self.child_components[0].external_patches["S"] self.auto_connect("xor_s", patch_a, patch_b, offcet=1) patch_a = j.external_patches["S1"] patch_b = self.child_components[1].external_patches["A"] self.auto_connect("xor_xor_a", patch_a, patch_b) patch_a = self.child_components[2].external_patches["A"] patch_b = j.external_patches["S2"] self.auto_connect("xor_and_a", patch_a, patch_b, offcet=-13) # And to Or patch_a = self.child_components[3].external_patches["S"] patch_b = self.child_components[4].external_patches["B"] self.auto_connect("and_or_b", patch_a, patch_b) patch_a = self.child_components[2].external_patches["S"] patch_b = self.child_components[4].external_patches["A"] self.auto_connect("and_or_a", patch_a, patch_b) # S out patch_a = self.child_components[1].external_patches["S"] patch_b = self.external_patches["S"] self.auto_connect("s_out", patch_a, patch_b, internal_b=False) # Cout patch_a = self.child_components[4].external_patches["S"] patch_b = self.external_patches["Cout"] self.auto_connect("c_out", patch_a, patch_b, internal_b=False)
def testcase_04(self): o = AndGate() o.Input0 = True o.Input1 = True o.execute() self.assertTrue(o.Output, "Class AndGate: Testcase 4 failed.")
def testcase_01(self): a=AndGate() a.Input0=False a.Input1=False a.execute() self.assertFalse(a.Output,"Class ANDKlasse: TestCase 1 failed.")
from AndGate import AndGate from NotGate import NotGate from OrGate import OrGate from Connector import Connector G1 = AndGate('G1') G2 = AndGate('G2') G3 = OrGate('G3') G4 = NotGate('G4') c1 = Connector(G1, G3) c2 = Connector(G2, G3) c3 = Connector(G3, G4) print(G4.get_output())
def testcase_01(self): a = AndGate(True, False) a.execute() self.assertEqual(False, a._output, "Test 02 fehlgeschlagen.")
def testcase_04(self): a=AndGate() a.Input0=True a.Input1=True a.execute() self.assertTrue(a.Output,"Class ANDKlasse: TestCase 1 failed.")
def testcase_00(self): a = AndGate() self.assertEqual(False, a.Input0, "Class OrGate Testcase 0 failed.") self.assertEqual(False, a.Input1, "Class OrGate Testcase 0 failed.") self.assertEqual(False, a.Output, "Class OrGate Testcase 0 failed.")
from AndGate import AndGate from OrGate import OrGate from NandGate import NandGate #AndGate n = AndGate(True, False, "AndGate") n.execute() n.showInfo() #OrGate o = OrGate(False, True, "OrGate") o.execute() o.showInfo() #NandGate nand = NandGate(True, True, "NandGate") nand.execute() nand.showInfo()
def testcase_01(self): a = AndGate(False, False) a.execute() self.assertFalse(a.Output, "Class AndGate: TestCase 1 failed.")
def testcase_04(self): a = AndGate(True, True) a.execute() self.assertTrue(a.Output, "Class AndGate: TestCase 1 failed.")
from AndGate import AndGate from OrGate import OrGate from NotGate import NotGate andGate = AndGate("And") print(andGate.getOutput()) orGate = OrGate("Or") print(orGate.getOutput()) notGate = NotGate("Not") print(notGate.getOutput())
from AndGate import AndGate from OrGate import OrGate print("AndGate example: \n") n=AndGate(True,True) n.execute() n.show() c=AndGate() c.Input0=False c.Input1=True c.execute() c.show() print("\nOrGate example: \n") o=OrGate(False,False) o.execute() o.show() o1=OrGate() o1.Input1=True o1.Input0=False o1.execute() o1.show()
from AndGate import AndGate from OrGate import OrGate from NotGate import NotGate from NorGate import NorGate from XorGate import XorGate from NandGate import NandGate from Connector import Connector g1 = AndGate("G1") g2 = AndGate("G2") g3 = OrGate("G3") g4 = NotGate("G4") g5 = NorGate("G5") g6 = XorGate("G6") g7 = NandGate("G7") g8 = OrGate("G8") c1 = Connector(g1, g3) c2 = Connector(g2, g3) c3 = Connector(g3, g4) c4 = Connector(g5, g7) c5 = Connector(g6, g7) c6 = Connector(g4, g8) c7 = Connector(g7, g8) print(g8.getOutput())