예제 #1
0
 def test_nested_dependencies(self):
     # a depends on b depends on c depends on d
     dm = {"a": ["b", "c", "d"], "b": ["c", "d"], "c": ["d"]}
     self.assertEqual(all_dependencies("b", "a", dependency_map=dm),
                      ["a", "b", "c", "d"])
     self.assertEqual(all_dependencies("c", "a", dependency_map=dm),
                      ["a", "b", "c", "d"])
예제 #2
0
 def test_missing_entry(self):
     # a depends on b, which is missing
     dm = {"a": ["b"]}
     self.assertEqual(all_dependencies("a", dependency_map=dm), ["a", "b"])
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm),
                      ["a", "b"])
     self.assertEqual(all_dependencies("b", dependency_map=dm), ["b"])
예제 #3
0
 def test_two_dependencies(self):
     dm = {"a": ["c"], "b": ["c"], "c": []}
     # suppose a and b both depend on c.  Then we want to build a and b before c...
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm),
                      ["a", "b", "c"])
     # ... but relative order is preserved.
     self.assertEqual(all_dependencies("b", "a", dependency_map=dm),
                      ["b", "a", "c"])
예제 #4
0
 def test_all_dependencies(self):
     dm = {"a": [], "b": ["a"], "c": ["b", "a"], "d": ["a"], "e": ["a"], "f": []}
     self.assertEqual(all_dependencies("a", dependency_map=dm), ["a"])
     self.assertEqual(all_dependencies("b", dependency_map=dm), ["b", "a"])
     self.assertEqual(all_dependencies("c", "a", "b", dependency_map=dm), ["c", "b", "a"])
     self.assertEqual(all_dependencies("d", dependency_map=dm), ["d", "a"])
     self.assertEqual(all_dependencies("d", "f", "c", dependency_map=dm), ["d", "f", "c", "b", "a"])
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm), ["b", "a"])
     self.assertEqual(all_dependencies("b", "b", dependency_map=dm), ["b", "a"])
예제 #5
0
 def test_all_dependencies(self):
     dm = {"a": [], "b": ["a"], "c": ["b", "a"], "d": ["a"], "e": ["a"], "f": []}
     self.assertEqual(all_dependencies("a", dependency_map=dm), [])
     self.assertEqual(all_dependencies("b", dependency_map=dm), ["a"])
     self.assertEqual(all_dependencies("c", "a", "b", dependency_map=dm), ["b", "a"])
     self.assertEqual(all_dependencies("d", dependency_map=dm), ["a"])
     self.assertEqual(all_dependencies("d", "f", "c", dependency_map=dm), ["b", "a"])
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm), ["a"])
     self.assertEqual(all_dependencies("b", "b", dependency_map=dm), ["a"])
예제 #6
0
 def test_nested_dependencies(self):
     # a depends on b depends on c depends on d
     dm = {"a": ["b", "c", "d"], "b": ["c", "d"], "c": ["d"]}
     self.assertEqual(all_dependencies("b", "a", dependency_map=dm), ["a", "b", "c", "d"])
     self.assertEqual(all_dependencies("c", "a", dependency_map=dm), ["a", "b", "c", "d"])
예제 #7
0
 def test_two_dependencies(self):
     dm = {"a": ["c"], "b": ["c"], "c": []}
     # suppose a and b both depend on c.  Then we want to build a and b before c...
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm), ["a", "b", "c"])
     # ... but relative order is preserved.
     self.assertEqual(all_dependencies("b", "a", dependency_map=dm), ["b", "a", "c"])
예제 #8
0
 def test_missing_entry(self):
     # a depends on b, which is missing
     dm = {"a": ["b"]}
     self.assertEqual(all_dependencies("a", dependency_map=dm), ["a", "b"])
     self.assertEqual(all_dependencies("a", "b", dependency_map=dm), ["a", "b"])
     self.assertEqual(all_dependencies("b", dependency_map=dm), ["b"])