def test_eval_order(self): c = Circuit(2) f = AdditionGate("F") g = AdditionGate("G") h = ScalarMultGate(2, "H") c.add_gate(h, ["INPUT1"]) c.add_gate(f, ["H","INPUT0"]) c.add_gate(g, ["F", "H"], True) self.assertEqual(c.eval_order(), ['H', 'F', 'G', 'OUTPUT'])