def test_1wide(self): sut = Veb(1) sut.insert(0) self.assertEqual(sut.succ(0), None) self.assertEqual(sut.succ(1), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), 0) sut.insert(1) self.assertEqual(sut.succ(0), 1) self.assertEqual(sut.succ(1), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), 0)
def test_big_numbers(self): u = 1 << 31 a = Veb(u) a.insert(1) a.insert(12345) a.insert(99999999) a.insert(750000) a.insert(750001) a.insert((1 << 16)) a.insert((1 << 31) - 1) self.assertEqual(a.pred(2), 1) self.assertEqual(a.succ(2), 12345) self.assertEqual(a.succ(99999998), 99999999) self.assertEqual(a.pred(100000000), 99999999) self.assertEqual(a.pred(750001), 750000) self.assertEqual(a.pred((1 << 17)), 1 << 16) self.assertEqual(a.succ((1 << 30)), (1 << 31) - 1)
def test_2wide(self): sut = Veb(3) sut.insert(2) self.assertEqual(sut.succ(0), 2) self.assertEqual(sut.succ(1), 2) self.assertEqual(sut.succ(2), None) self.assertEqual(sut.succ(3), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), None) self.assertEqual(sut.pred(2), None) self.assertEqual(sut.pred(3), 2) sut.insert(3) self.assertEqual(sut.succ(0), 2) self.assertEqual(sut.succ(1), 2) self.assertEqual(sut.succ(2), 3) self.assertEqual(sut.succ(3), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), None) self.assertEqual(sut.pred(2), None) self.assertEqual(sut.pred(3), 2) sut.insert(0) self.assertEqual(sut.succ(0), 2) self.assertEqual(sut.succ(1), 2) self.assertEqual(sut.succ(2), 3) self.assertEqual(sut.succ(3), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), 0) self.assertEqual(sut.pred(2), 0) self.assertEqual(sut.pred(3), 2) sut.insert(1) self.assertEqual(sut.succ(0), 1) self.assertEqual(sut.succ(1), 2) self.assertEqual(sut.succ(2), 3) self.assertEqual(sut.succ(3), None) self.assertEqual(sut.pred(0), None) self.assertEqual(sut.pred(1), 0) self.assertEqual(sut.pred(2), 1) self.assertEqual(sut.pred(3), 2)
def test_ctor(self): b = Veb(8) b.insert(6) self.assertEqual(b.pred(7), 6) self.assertEqual(b.succ(1), 6)