def test_test_component_outputs_failure(self): """test_component_outputs should return false if an unmet output requirement exists""" requirement = lambda component : 'IS_BAR' in component.state.flags subject = Component() the_output = Component() the_output.state.set_flag('IS_FOO') subject.plug_into(the_output) self.assertEqual(bool(req.test_component_outputs(subject, requirement)), False)
def test_test_component_inputs_pass(self): """test_component_inputs should return True if all input requirements are met""" requirement = lambda component : 'IS_FOO' in component.state.flags subject = Component() the_input = Component() the_input.state.set_flag('IS_FOO') subject.register_component(the_input) the_input.plug_into(subject) self.assertEqual(len(subject.item_inputs()), 1) self.assertEqual(req.test_component_inputs(subject, requirement), True)
def get_nodes(self): return self._graph.nodes() def get_edges(self): return self._graph.edges() if __name__ == "__main__": from component import Component a = Component(name="a") b = Component(name="b") c = Component(name="c") d = Component(name="d") e = Component(name="e") f = Component(name="f") g = Component(name="g") b.plug_into(a) d.plug_into(b) c.plug_into(d) e.plug_into(f) e.plug_into(d) e.plug_into(g) e.graph_proxy.get_components() d.unplug_from(e) print str(e.graph_proxy.get_components()[1].nodes())