def test_marble_stream_bit_ops(self): stream = MarbleStream(self.files["1992-10-03"]) rowid = 1 # test "name" index for album in self.albums: if album[_PARTITIONS] != "1992-10-03": continue bitset = stream.bit_eq("name", album["name"]) bs = BitSet() bs.set(rowid) rowid += 1 for i in bitset: self.assertTrue(i in bs) # test "genre" index bitset = stream.bit_eq("genre", "R&R") bs = BitSet() for i in range(1, 5): bs.set(i) for i in bitset: self.assertTrue(i in bs) stream.close() stream = MarbleStream(self.files["1986-01-03"]) rowid = 1 # test "name" index for album in self.albums: if album[_PARTITIONS] != "1986-01-03": continue bitset = stream.bit_eq("name", album["name"]) bs = BitSet() bs.set(rowid) rowid += 1 for i in bitset: self.assertTrue(i in bs) # test "genre" index bitset = stream.bit_eq("genre", "SoundTrack") bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) # test "rating" index # test for eq and not-eq bitset = stream.bit_eq("rating", 4) bs = BitSet() bs.set(4) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_eq("rating", 3) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_eq("rating", 5) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 5) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 3) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 4) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) bs.set(6) for i in bitset: self.assertTrue(i in bs) # test for less_than and less_eq bitset = stream.bit_ge("rating", 3) bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 3) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 3) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 3) bs = BitSet() for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 5) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 5) bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 5) bs = BitSet() for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ge("rating", 5) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 4) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 4) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ge("rating", 4) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 4) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) stream.close()
def test_marble_stream_bit_ops(self): stream = MarbleStream(self.files["1992-10-03"]) rowid = 1 # test "name" index for album in self.albums: if album[_PARTITIONS] != "1992-10-03": continue bitset = stream.bit_eq("name", album["name"]) bs = BitSet() bs.set(rowid) rowid += 1 for i in bitset: self.assertTrue(i in bs) # test "genre" index bitset = stream.bit_eq("genre", "R&R") bs = BitSet() for i in range(1, 5): bs.set(i) for i in bitset: self.assertTrue(i in bs) stream.close() stream = MarbleStream(self.files["1986-01-03"]) rowid = 1 # test "name" index for album in self.albums: if album[_PARTITIONS] != "1986-01-03": continue bitset = stream.bit_eq("name", album["name"]) bs = BitSet() bs.set(rowid) rowid += 1 for i in bitset: self.assertTrue(i in bs) # test "genre" index bitset = stream.bit_eq("genre", "SoundTrack") bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) # test "rating" index # test for eq and not-eq bitset = stream.bit_eq("rating", 4) bs = BitSet() bs.set(4) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_eq("rating", 3) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_eq("rating", 5) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 5) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 3) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne("rating", 4) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) bs.set(6) for i in bitset: self.assertTrue(i in bs) # test "rating" index # test for eq_ex and not_eq_ex bitset = stream.bit_eq_ex("rating", [3, 4]) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_eq_ex("rating", [5]) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne_ex("rating", [5]) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ne_ex("rating", [3, 4]) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) # test for less_than and less_eq bitset = stream.bit_ge("rating", 3) bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 3) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 3) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 3) bs = BitSet() for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 5) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 5) bs = BitSet() for i in range(1, 7): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 5) bs = BitSet() for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ge("rating", 5) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_le("rating", 4) bs = BitSet() bs.set(4) bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_lt("rating", 4) bs = BitSet() bs.set(6) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_ge("rating", 4) bs = BitSet() for i in range(1, 6): bs.set(i) for i in bitset: self.assertTrue(i in bs) bitset = stream.bit_gt("rating", 4) bs = BitSet() for i in range(1, 4): bs.set(i) bs.set(5) for i in bitset: self.assertTrue(i in bs) stream.close()