class TestUncompressed(TestMappingProtocol, TestSerializationProtocol): def setUp(self): self.discodb = DiscoDB(k_vs_iter(self.numkeys), disable_compression=True) self.discodb_c = DiscoDB(self.discodb) def test_compression(self): self.assertEqual(dict((k, list(vs)) for k, vs in self.discodb.items()), dict((k, list(vs)) for k, vs in self.discodb_c.items()))
class TestMappingProtocol(unittest.TestCase): numkeys = 1000 def setUp(self): self.discodb = DiscoDB(k_vs_iter(self.numkeys)) def test_contains(self): assert "0" in self.discodb assert "key" not in self.discodb def test_length(self): self.assertEquals(len(self.discodb), self.numkeys) def test_get(self): len(list(self.discodb.get('0'))) self.assertEquals(self.discodb.get('X'), None) self.assertEquals(self.discodb.get('X', 'Y'), 'Y') def test_getitem(self): for x in xrange(self.numkeys): try: list(self.discodb[str(x)]) except KeyError: self.assertEquals(x, self.numkeys) def test_iter(self): self.assertEquals(list(self.discodb), list(self.discodb.keys())) def test_items(self): for key, values in self.discodb.items(): key, list(values) def test_keys(self): len(list(self.discodb.keys())) def test_values(self): len(list(self.discodb.values())) def test_unique_values(self): len(list(self.discodb.unique_values())) def test_peek(self): self.assertNotEquals(self.discodb.peek('0'), None) self.assertEquals(self.discodb.peek('X'), None) self.assert_(int(self.discodb.peek('0', '1')) >= 0) def test_query(self): q = Q.parse('5 & 10 & (15 | 30)') list(self.discodb.query(q)) def test_str(self): repr(self.discodb) str(self.discodb)
class TestMappingProtocol(unittest.TestCase): numkeys = 1000 def setUp(self): self.discodb = DiscoDB(k_vs_iter(self.numkeys)) def test_contains(self): assert "200" in self.discodb assert "key" not in self.discodb def test_length(self): assert len(self.discodb) == self.numkeys def test_getitem(self): for x in xrange(self.numkeys): try: list(self.discodb[str(x)]) except KeyError: assert x == self.numkeys def test_iter(self): assert list(self.discodb) == list(self.discodb.keys()) def test_items(self): for key, values in self.discodb.items(): key, list(values) def test_keys(self): len(list(self.discodb.keys())) def test_values(self): len(list(self.discodb.values())) def test_query(self): q = Q.parse('5 & 10 & (15 | 30)') list(self.discodb.query(q)) def test_str(self): assert str(self.discodb) != repr(self.discodb)