Ejemplo n.º 1
0
 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)))
Ejemplo n.º 2
0
 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()))
Ejemplo n.º 3
0
 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)