Пример #1
0
    def test_find_next_empty_bits(self):
        b = Bitmap(0x0)

        i = 0

        while str(b) == "0xFFFF":
            n = b.get_next_empty_bits(1)
            self.assertEqual(n, i)
            i += 1

        b = Bitmap(0xA955)
        self.assertEqual(b.get_next_empty_bits(2), 9)
        self.assertEqual(b.get_next_empty_bits(3), 16)

        b = Bitmap(2 ** 1024 - 1)
        self.assertEqual(b.get_next_empty_bits(1), -1)

        b = Bitmap(2 ** 1024 - 1)
        b.clr_bit(1023)
        self.assertEqual(b.get_next_empty_bits(1), 1023)
        self.assertEqual(b.get_next_empty_bits(2), -1)

        self.assertEqual(b.get_next_empty_bits(0), -1)
Пример #2
0
 def test_clr_bit(self):
     b = Bitmap(0xAA55)
     b.clr_bit(0);
     self.assertEqual(str(b), "0xaa54")
     b.clr_bit(1);
     self.assertEqual(str(b), "0xaa54")
     b.clr_bit(2);
     self.assertEqual(str(b), "0xaa50")
     b.clr_bit(4);
     self.assertEqual(str(b), "0xaa40")
     b.clr_bit(6);
     self.assertEqual(str(b), "0xaa00")
     b.clr_bit(15)
     self.assertEqual(str(b), "0x2a00")
     b.set_bit(1023)
     self.assertTrue(b.is_bit_set(1023) and re.search(r"2a00$", str(b), re.I))
     b.clr_bit(1023)
     self.assertTrue(str(b), "0x2a00")
     self.assertRaises(TooDamnMuchDammitError, b.clr_bit, 1024)