def test_find_obsolete(self): index = Index() p1 = gen_package(version=1) index.add(p1) self.assertIs( p1, index.find("obsoletes1", objects.VersionRange("le", 2)) ) self.assertIsNone( index.find("obsoletes1", objects.VersionRange("gt", 2)) )
def test_find_provides(self): index = Index() p1 = gen_package(version=1) p2 = gen_package(version=2) index.add(p1) index.add(p2) self.assertIs( p2, index.find("provides1", objects.VersionRange("ge", 2)) ) self.assertIsNone( index.find("provides1", objects.VersionRange("gt", 2)) )
def test_find_accurate(self): index = Index() p1 = gen_package(version=1) p2 = gen_package(version=2) index.add(p1) index.add(p2) self.assertIs( p1, index.find("package1", objects.VersionRange("eq", 1)) ) self.assertIsNone( index.find("package1", objects.VersionRange("eq", 3)) )
def test_find_newest_package(self): index = Index() p1 = gen_package(idx=1, version=2) p2 = gen_package(idx=2, version=2) p2.obsoletes.append( gen_relation(p1.name, ["lt", p1.version]) ) index.add(p1) index.add(p2) self.assertIs( p1, index.find(p1.name, objects.VersionRange("eq", p1.version)) ) self.assertIs( p2, index.find(p1.name, objects.VersionRange("eq", 1)) )
def test_find_top_down(self): index = Index() p1 = gen_package(version=1) p2 = gen_package(version=2) index.add(p1) index.add(p2) self.assertIs( p2, index.find("package1", objects.VersionRange("le", 2)) ) self.assertIs( p1, index.find("package1", objects.VersionRange("lt", 2)) ) self.assertIsNone( index.find("package1", objects.VersionRange("lt", 1)) )