def testcase_04(self): a = OrGate(2) a.set_input(0, True) a.set_input(1, True) a.execute() self.assertEqual(True, a.get_output(0), "Class OrGate Testcase 4 failed.")
def execute(self): #Workaround: Die LogFunc-Klasse ruft bei __init__ die execute-Methode auf um manche Logikgatter zu initialisieren. Zu dem Zeipunkt sind noch keine Input-Werte gesetzt if len(self._Inputs) == 0: return input_a = self.get_input_at(0) input_b = self.get_input_at(1) input_c = self.get_input_at(2) #Logikgatter erzeugen ha0 = HalfAdder() ha1 = HalfAdder() or0 = OrGate() #1. Halbaddierer aus a und b ha0.set_inputs([input_a, input_b]) ha0.execute() #2. Halbaddierer aus 1. Halbaddierer Carry und c ha1.set_inputs([ha0.get_output_carry(), input_c]) ha1.execute() or0.set_inputs([ha0.get_output_sum(), ha1.get_output_sum()]) or0.execute() self._Outputs = [ha1.get_output_carry(), or0.get_output_at(0)]
def testcase_01(self): a = OrGate(2) a.set_input(0, False) a.set_input(1, False) a.execute() self.assertEqual(False, a.get_output(0), "Class OrGate Testcase 1 failed.")
def assert_test_case(self, in0, in1, out, test_id): a = OrGate() a.set_inputs([in0, in1]) a.execute() if out: self.assertTrue(a.get_output_at(0), "Class OrGate: " + test_id + " failed") else: self.assertFalse(a.get_output_at(0), "Class OrGate: " + test_id + " failed")
def testcase_05(self): a = OrGate(3) testdatas = [[False, False, False, False], [False, False, True, True], [False, True, False, True], [False, True, True, True], [True, False, False, True], [True, False, True, True], [True, True, False, True], [True, True, True, True]] for testdata in testdatas: for i in range(0, 3): a.set_input(i, testdata[i]) a.execute() self.assertEqual( testdata[3], a.get_output(0), "Class OrGate Testcase 5 failed: " + testdata.__str__())
def testcase_04(self): a = OrGate() a.Input0 = True a.Input1 = True a.execute() self.assertEqual(True, a.Output, "Class OrGate Testcase 4 failed.")
def testcase_01(self): a = OrGate() a.Input0 = False a.Input1 = False a.execute() self.assertEqual(False, a.Output, "Class OrGate Testcase 1 failed.")
def testcase_04(self): a = OrGate() a.setInput0(True) a.setInput1(True) a.execute() self.assertTrue(a._Output, "Class OrGate: TestCase04 failed")
def testcase_01(self): a = OrGate() a.setInput0(False) a.setInput1(False) a.execute() self.assertFalse(a._Output, "Class OrGate: TestCase01 failed")