Example #1
0
    def test_no_dependencies_defined(self):
        available_modules = set(["A", "B"])
        table = {
            "A": [],
        }
        with self.assertRaises(KeyError):
            ModulesChooser.resolve_dependencies(available_modules, table, "B")

        available_modules = set(["A", "B"])
        table = {
            "A": ["B"],
        }
        with self.assertRaises(KeyError):
            ModulesChooser.resolve_dependencies(available_modules, table, "A")
Example #2
0
    def test_no_dependencies_defined(self):
        available_modules = set(["A", "B"])
        table = {
            "A": [],
        }
        with self.assertRaises(KeyError):
            ModulesChooser.resolve_dependencies(available_modules, table, "B")

        available_modules = set(["A", "B"])
        table = {
            "A": ["B"],
        }
        with self.assertRaises(KeyError):
            ModulesChooser.resolve_dependencies(available_modules, table, "A")
Example #3
0
 def test_dependency_choices_impossible2(self):
     available_modules = set(["A", "B"])
     table = {"A": ["B|C"], "B": [], "C": []}
     ok, modules = ModulesChooser.resolve_dependencies(
         available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B"]))
Example #4
0
 def test_dependency_prefer_existing2(self):
     available_modules = set(["A", "B", "C"])
     table = {"A": ["B", "B|C"], "B": [], "C": []}
     ok, modules = ModulesChooser.resolve_dependencies(
         available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B"]))
Example #5
0
 def test_circular(self):
     available_modules = set(["A", "B", "C"])
     table = {"A": ["B"], "B": ["C"], "C": ["A"]}
     ok, modules = ModulesChooser.resolve_dependencies(
         available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B", "C"]))
Example #6
0
 def test_base(self):
     available_modules = set(["A", "B"])
     table = {
         "A": [],
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A"]))
Example #7
0
 def test_base(self):
     available_modules = set(["A", "B"])
     table = {
         "A": [],
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A"]))
Example #8
0
 def test_dependency2_not_available(self):
     available_modules = set(["A", "B"])
     table = {
         "A": ["B"],
         "B": ["C"],
         "C": ["A"]
     }
     ok, _ = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertFalse(ok)
Example #9
0
 def test_dependency2_not_available(self):
     available_modules = set(["A", "B"])
     table = {
         "A": ["B"],
         "B": ["C"],
         "C": ["A"]
     }
     ok, _ = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertFalse(ok)
Example #10
0
 def test_dependency_choices_impossible2(self):
     available_modules = set(["A", "B"])
     table = {
         "A": ["B|C"],
         "B": [],
         "C": []
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B"]))
Example #11
0
 def test_dependency_prefer_existing2(self):
     available_modules = set(["A", "B", "C"])
     table = {
         "A": ["B", "B|C"],
         "B": [],
         "C": []
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B"]))
Example #12
0
 def test_circular(self):
     available_modules = set(["A", "B", "C"])
     table = {
         "A": ["B"],
         "B": ["C"],
         "C": ["A"]
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "A")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["A", "B", "C"]))
Example #13
0
 def test_deep(self):
     available_modules = set(["A", "B", "C", "E", "G"])
     table = {
         "A": ["B|C"],
         "B": ["D"],
         "C": ["E"],
         "D": [],
         "E": ["F|G"],
         "F": ["A", "B"],
         "G": ["A", "G"]
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "G")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["G", "A", "C", "E"]))
Example #14
0
 def test_deep(self):
     available_modules = set(["A", "B", "C", "E", "G"])
     table = {
         "A": ["B|C"],
         "B": ["D"],
         "C": ["E"],
         "D": [],
         "E": ["F|G"],
         "F": ["A", "B"],
         "G": ["A", "G"]
     }
     ok, modules = ModulesChooser.resolve_dependencies(available_modules, table, "G")
     self.assertTrue(ok)
     self.assertEqual(modules, set(["G", "A", "C", "E"]))