'Test dependency resolution for a single factor.'

def test_single_factor(self):

    def check_output(graph):
        resolution_order = list(graph.ordered())
        self.assertEqual(len(resolution_order), 4)
        self.check_dependency_order(resolution_order)
        self.assertIn(AssetExists(), resolution_order)
        self.assertIn(SomeDataSet.foo, resolution_order)
        self.assertIn(SomeDataSet.bar, resolution_order)
        self.assertIn(SomeFactor(), resolution_order)
        self.assertEqual(graph.graph.node[SomeDataSet.foo]['extra_rows'], 4)
        self.assertEqual(graph.graph.node[SomeDataSet.bar]['extra_rows'], 4)
    for foobar in gen_equivalent_factors():
        check_output(self.make_execution_plan(to_dict([foobar])))
