Beispiel #1
0
    def test_not_bitmap(self):

        bitmaps = (
            ((1, 1, 0, 1, 0, 0, 0, 0, 1, 1), (0, 0, 1, 0, 1, 1, 1, 1, 0, 0)),
            ((1, 0, 0, 1, 1, 0, 1, 0, 1, 1), (0, 1, 1, 0, 0, 1, 0, 1, 0, 0)),
            ((1, 0, 0, 1, 0, 0, 0, 0, 1, 1), (0, 1, 1, 0, 1, 1, 1, 1, 0, 0)),
            ((1, 1, 0, 1, 0, 0, 0, 0, 0, 1), (0, 0, 1, 0, 1, 1, 1, 1, 1, 0)),
            ((0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (1, 1, 1, 1, 1, 1, 1, 1, 1, 1)),
        )

        for bitmap_result in bitmaps:
            bitmap = bitmap_result[0]
            key = "test:{0}:result".format(random.randrange(0, 100000))
            result = bitmap_result[1]

            for i in range(len(bitmap)):
                self.r.setbit(key, i, bitmap[i])

            # Apply NOT
            result_key = LoginMetrics.not_operation(key)

            # Check
            for i in range(len(result)):
                self.assertEquals(result[i], self.r.getbit(result_key, i))