def assert_test_case(self, in0, in1, out, test_id): a = AndGate() a.set_inputs([in0, in1]) a.execute() if out: self.assertTrue(a.get_output_at(0), "Class AndGate: " + test_id + " failed") else: self.assertFalse(a.get_output_at(0), "Class AndGate: " + test_id + " 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 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]