def test_parse(): solver = Solver() solver.parse("123 -> x") assert solver.inputs == {"x": "123".split()} solver = Solver() solver.parse("456 -> y") assert solver.inputs == {"y": "456".split()} solver = Solver() solver.parse("123 AND 456 -> x") assert solver.inputs == {"x": "123 AND 456".split()} solver = Solver() solver.parse("x AND 456 -> z") assert solver.inputs == {"z": "x AND 456".split()} solver = Solver() solver.parse("NOT 123 -> y") assert solver.inputs == {"y": "NOT 123".split()}
def test_make_outputs(): solver = Solver() solver.parse("123 -> x") solver.make_outputs() assert solver.outputs == {"x": 123} solver = Solver() solver.parse("456 -> y") solver.make_outputs() assert solver.outputs == {"y": 456} solver = Solver() solver.parse("123 AND 456 -> x") solver.make_outputs() assert solver.outputs == {"x": 123 & 456} solver = Solver() solver.parse("NOT 123 -> y") solver.make_outputs() assert solver.outputs == {"y": ~np.uint16(123)}