def test_parse_intput_or_operation(self): result = LogicGate.parseInput('a OR b') self.assertEqual('OR', result['operation']) self.assertEqual('a', result['left']) self.assertEqual('b', result['right'])
def test_parse_intput_and_operation(self): result = LogicGate.parseInput('z AND y') self.assertEqual('AND', result['operation']) self.assertEqual('z', result['left']) self.assertEqual('y', result['right'])
def test_parse_intput_rshift_operation(self): result = LogicGate.parseInput('z RSHIFT 2') self.assertEqual('RSHIFT', result['operation']) self.assertEqual('z', result['left']) self.assertEqual(2, result['right'])
def test_parse_intput_lshift_operation(self): result = LogicGate.parseInput('y LSHIFT 23') self.assertEqual('LSHIFT', result['operation']) self.assertEqual('y', result['left']) self.assertEqual(23, result['right'])
def test_parse_intput_not_operation(self): result = LogicGate.parseInput('NOT z') self.assertEqual('z', result['right']) self.assertEqual('NOT', result['operation'])
def test_parse_intput_set_operation(self): result = LogicGate.parseInput('123') self.assertEqual('123', result['value']) self.assertEqual('SET', result['operation'])