Beispiel #1
0
    def test_or_operation(self):
        or_bitmaps = {
            "test:orops:1": (1, 1, 0, 1, 0, 0, 0, 0, 1, 1),
            "test:orops:2": (1, 0, 0, 1, 1, 0, 1, 0, 1, 1),
            "test:orops:3": (1, 0, 0, 1, 0, 0, 0, 0, 1, 1),
            "test:orops:4": (1, 1, 0, 1, 0, 0, 0, 0, 0, 1),
        }

        result = (1, 1, 0, 1, 1, 0, 1, 0, 1, 1)

        # Initial State
        for key, val in or_bitmaps.items():
            for i in range(len(val)):
                self.r.setbit(key, i, val[i])

        # After login
        store_key_default = "test:orops:result"
        store_key = LoginMetrics.or_operation(or_bitmaps.keys(),
                                                 store_key_default)

        #Check if the store key is the same
        self.assertEquals(store_key_default, store_key)

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