Beispiel #1
0
 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")
Beispiel #2
0
    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]