def testcase_00(self): a = XOrGate(2) self.assertEqual(False, a.get_input(0), "Class XOrGate Testcase 0 failed.") self.assertEqual(False, a.get_input(1), "Class XOrGate Testcase 0 failed.") self.assertEqual(False, a.get_output(0), "Class XOrGate Testcase 0 failed.")
def testcase_03(self): a = XOrGate(2) a.set_input(0, True) a.set_input(1, False) a.execute() self.assertEqual(True, a.get_output(0), "Class XOrGate Testcase 3 failed.")
def assert_test_case(self, inputs, out, test_id): a = XOrGate() a.set_inputs(inputs) a.execute() if out: self.assertTrue(a.get_output_at(0), "Class XOrGate: " + test_id + " failed") else: self.assertFalse(a.get_output_at(0), "Class XOrGate: " + test_id + " failed")
def testcase_05(self): a = XOrGate(3) testdatas = [[False, False, False, False], [False, False, True, True], [False, True, False, True], [False, True, True, False], [True, False, False, True], [True, False, True, False], [True, True, False, False], [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 XOrGate Testcase 5 failed: " + testdata.__str__())
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 sum = XOrGate() sum.set_inputs([self.get_input_at(0), self.get_input_at(1)]) sum.execute() carry = AndGate() carry.set_inputs([self.get_input_at(0), self.get_input_at(1)]) carry.execute() sum_result = sum.get_output_at(0) carry_result = carry.get_output_at(0) self._Outputs = [carry_result, sum_result]
def testcase_04(self): a = XOrGate() a.Input0 = True a.Input1 = True a.execute() self.assertEqual(False, a.Output, "Class XOrGate Testcase 4 failed.")
def testcase_00(self): a = XOrGate() self.assertEqual(False, a.Input0, "Class XOrGate Testcase 0 failed.") self.assertEqual(False, a.Input1, "Class XOrGate Testcase 0 failed.") self.assertEqual(False, a.Output, "Class XOrGate Testcase 0 failed.")
def testcase_04(self): a = XOrGate() a.setInput0(True) a.setInput1(True) a.execute() self.assertFalse(a._Output, "Class XOrGate: TestCase04 failed")