def test_prefer_source(self): # Ordering supports prefer_source fb_source = Dist("FooBar", "1.0", type="source") fb_binary = Dist("FooBar", "1.0", type="binary") fb2_binary = Dist("FooBar", "2.0", type="binary") dists = ReleasesList([fb_binary, fb_source]) dists.sort_distributions(prefer_source=True) self.assertEqual(fb_source, dists[0]) dists.sort_distributions(prefer_source=False) self.assertEqual(fb_binary, dists[0]) dists.append(fb2_binary) dists.sort_distributions(prefer_source=True) self.assertEqual(fb2_binary, dists[0])