def test_find_down_up(self):
     index = Index()
     p1 = gen_package(version=1)
     p2 = gen_package(version=2)
     index.add(p1)
     index.add(p2)
     self.assertEqual([p2],
                      index.find_all(p1.name, objects.VersionRange(">=",
                                                                   2)))
     self.assertEqual([p2],
                      index.find_all(p1.name, objects.VersionRange(">", 1)))
     self.assertEqual([],
                      index.find_all(p1.name, objects.VersionRange(">", 2)))
    def test_add(self):
        index = Index()
        package1 = gen_package(version=1)
        index.add(package1)
        self.assertIn(package1.name, index.packages)
        self.assertEqual([(1, package1)],
                         list(index.packages[package1.name].items()))

        package2 = gen_package(version=2)
        index.add(package2)
        self.assertEqual(1, len(index.packages))
        self.assertEqual([(1, package1), (2, package2)],
                         list(index.packages[package1.name].items()))
    def test_len(self):
        index = Index()
        for i in six.moves.range(3):
            index.add(gen_package(idx=i + 1))
        self.assertEqual(3, len(index))

        for i in six.moves.range(3):
            index.add(gen_package(idx=i + 1, version=2))
        self.assertEqual(6, len(index))
        self.assertEqual(3, len(index.packages))

        for i in six.moves.range(3):
            index.add(gen_package(idx=i + 1, version=2))
        self.assertEqual(6, len(index))
        self.assertEqual(3, len(index.packages))
    def test_find_with_specified_version(self):
        index = Index()
        p1 = gen_package(idx=1, version=1)
        p2 = gen_package(idx=1, version=2)
        index.add(p1)
        index.add(p2)

        self.assertItemsEqual([p1],
                              index.find_all(
                                  p1.name,
                                  objects.VersionRange("=", p1.version)))
        self.assertItemsEqual([p2],
                              index.find_all(
                                  p2.name,
                                  objects.VersionRange("=", p2.version)))
Exemple #5
0
 def __init__(self):
     super(PackagesTree, self).__init__()
     self.mandatory_packages = []
     self.packages = Index()
     self.provides = defaultdict(dict)
     self.obsoletes = defaultdict(dict)