def test_bulk_commit(self): d = DbDict('test', 'test') d.clear() with d.bulk_commit(): for i in range(100): d[i] = i self.assertEqual(list(d.keys()), list(range(100)))
def test_len(self): d = DbDict(DB_NAME) d.clear() n = 5 for i in range(n): d[i] = i self.assertEqual(len(d), n)
def test_bulk_commit(self): d = DbDict(DB_NAME, 'table') d.clear() n = 1000 with d.bulk_commit(): for i in range(n): d[i] = i self.assertEqual(list(d.keys()), list(range(n)))
def test_fast_save(self): d1 = DbDict(DB_NAME, fast_save=True) d2 = DbDict(DB_NAME, 'data2', fast_save=True) d1.clear() n = 1000 for i in range(n): d1[i] = i d2[i * 2] = i # HACK if we will not sort, fast save can produce different order of records self.assertEqual(sorted(d1.keys()), list(range(n))) self.assertEqual(sorted(d2.values()), list(range(n)))
def test_del(self): d = DbDict(DB_NAME) d.clear() for i in range(5): d[i] = i del d[0] del d[1] del d[2] self.assertEqual(list(d.keys()), list(range(3, 5))) with self.assertRaises(KeyError): del d[0]
def test_switch_commit(self): d = DbDict(DB_NAME) d.clear() d[1] = 1 d = DbDict(DB_NAME) self.assertIn(1, d) d.can_commit = False d[2] = 2 d = DbDict(DB_NAME) self.assertNotIn(2, d) self.assert_(d.can_commit)
def test_switch_commit(self): d = DbDict('test') d.clear() d[1] = 1 d = DbDict('test') self.assertIn(1, d) d.can_commit = False d[2] = 2 self.assertEqual(d[2], 2) d = DbDict('test') self.assertNotIn(2, d) self.assert_(d.can_commit)
def test_str(self): d = DbDict(DB_NAME) d.clear() d[1] = 1 d[2] = 2 self.assertEqual(str(d), '{1: 1, 2: 2}')