コード例 #1
0
ファイル: test_pigeonholes.py プロジェクト: chutz/pkgcore
 def test_add_limiter(self):
     c = PigeonHoledSlots()
     p = fake_package()
     o = fake_blocker(None, p)
     self.assertFalse([], c.fill_slotting(p))
     self.assertEqual([p], c.add_limiter(o))
     c.remove_slotting(p)
     self.assertEqual([o], c.fill_slotting(p))
     # note we're doing 'is' tests in fake_blocker
     self.assertFalse([], c.fill_slotting(fake_package()))
コード例 #2
0
ファイル: state.py プロジェクト: chutz/pkgcore
 def __init__(self):
     self.state = PigeonHoledSlots()
     self.plan = []
     self.pkg_choices = {}
     self.rev_blockers = {}
     self.blockers_refcnt = RefCountingSet()
     self.match_atom = self.state.find_atom_matches
     self.vdb_filter = set()
     self.forced_restrictions = RefCountingSet()
コード例 #3
0
ファイル: test_pigeonholes.py プロジェクト: chutz/pkgcore
 def test_add(self):
     c = PigeonHoledSlots()
     o = fake_package()
     self.assertEqual([], c.fill_slotting(o))
     # test that it doesn't invalidly block o when (innefficiently)
     # doing a re-add
     self.assertEqual([o], c.fill_slotting(o))
     self.assertEqual([o], c.fill_slotting(fake_package()))
     self.assertFalse(c.fill_slotting(fake_package(slot=1, key=1)))
コード例 #4
0
ファイル: test_pigeonholes.py プロジェクト: chutz/pkgcore
 def test_remove_slotting(self):
     c = PigeonHoledSlots()
     p, p2 = fake_package(), fake_package(slot=2)
     o = fake_blocker(None, p)
     self.assertFalse([], c.add_limiter(o))
     c.remove_limiter(o)
     self.assertRaises(KeyError, c.remove_slotting, o)
     self.assertRaises(KeyError, c.remove_limiter, o)
     self.assertFalse([], c.fill_slotting(p))
     self.assertFalse([], c.fill_slotting(p2))
     c.remove_slotting(p)
     c.remove_slotting(p2)