Lines Matching refs:db
106 db = read_db_from_csv(CSV_DATABASE)
107 self.assertEqual(str(db), CSV_DATABASE)
109 db = read_db_from_csv('')
110 self.assertEqual(str(db), '')
113 db = read_db_from_csv('')
114 self.assertEqual(str(db), '')
116 db = read_db_from_csv('abc123,2048-4-1,Fake string\n')
117 self.assertEqual(str(db), '00abc123,2048-04-01,"Fake string"\n')
119 db = read_db_from_csv('1,1990-01-01,"Quotes"""\n'
121 self.assertEqual(str(db), ('00000000,1990-02-01,"Commas,"",,"\n'
126 db = read_db_from_csv(INVALID_CSV)
129 self.assertEqual(len(db.token_to_entries), 3)
131 self.assertEqual(db.token_to_entries[1][0].string, 'Whoa there!')
132 self.assertFalse(db.token_to_entries[2])
133 self.assertEqual(db.token_to_entries[3][0].string, "This one's OK")
134 self.assertFalse(db.token_to_entries[4])
135 self.assertEqual(db.token_to_entries[5][0].string, "I'm %s fine")
136 self.assertFalse(db.token_to_entries[6])
139 db = read_db_from_csv(CSV_DATABASE)
140 self.assertEqual(db.token_to_entries[0x9999], [])
142 matches = db.token_to_entries[0x2e668cd6]
150 matches = db.token_to_entries[0xe13b0f94]
157 answer, = db.token_to_entries[0x141c35d5]
165 db = tokens.Database.from_strings(['o000', '0Q1Q'])
167 self.assertEqual(len(db.token_to_entries[hash_1]), 2)
169 [entry.string for entry in db.token_to_entries[hash_1]],
173 db = read_db_from_csv(CSV_DATABASE)
174 original_length = len(db.token_to_entries)
176 self.assertEqual(db.token_to_entries[0][0].string, '')
177 self.assertEqual(db.token_to_entries[0x31631781][0].string, '%d')
178 self.assertEqual(db.token_to_entries[0x2e668cd6][0].string,
180 self.assertEqual(db.token_to_entries[0xb3653e13][0].string, 'Jello!')
181 self.assertEqual(db.token_to_entries[0xcc6d3131][0].string, 'Jello?')
182 self.assertEqual(db.token_to_entries[0xe65aefef][0].string,
185 db.purge(datetime.datetime(2019, 6, 11))
186 self.assertLess(len(db.token_to_entries), original_length)
188 self.assertFalse(db.token_to_entries[0])
189 self.assertEqual(db.token_to_entries[0x31631781][0].string, '%d')
190 self.assertFalse(db.token_to_entries[0x2e668cd6])
191 self.assertEqual(db.token_to_entries[0xb3653e13][0].string, 'Jello!')
192 self.assertEqual(db.token_to_entries[0xcc6d3131][0].string, 'Jello?')
193 self.assertFalse(db.token_to_entries[0xe65aefef])
198 db = tokens.Database()
201 db.merge(
208 self.assertEqual({str(e) for e in db.entries()}, {'one', 'two'})
209 self.assertEqual(db.token_to_entries[1][0].date_removed,
211 self.assertEqual(db.token_to_entries[2][0].date_removed,
215 db.merge(
222 for e in db.entries()},
224 self.assertIsNone(db.token_to_entries[3][0].date_removed)
225 self.assertEqual(db.token_to_entries[4][0].date_removed,
229 db.merge(tokens.Database([
233 for e in db.entries()},
235 self.assertEqual(db.token_to_entries[4][0].date_removed,
237 self.assertIsNone(db.token_to_entries[5][0].date_removed)
240 db.merge(
247 self.assertEqual(len(db.entries()), 5)
249 for e in db.entries()},
251 self.assertEqual(db.token_to_entries[4][0].date_removed,
253 self.assertIsNone(db.token_to_entries[5][0].date_removed)
256 db.merge(
261 self.assertEqual(len(db.entries()), 5)
263 for e in db.entries()},
265 self.assertIsNone(db.token_to_entries[4][0].date_removed)
266 self.assertIsNone(db.token_to_entries[5][0].date_removed)
269 db.merge(tokens.Database([]))
271 for e in db.entries()},
276 db = tokens.Database.merged(
292 self.assertEqual({str(e) for e in db.entries()}, {'one', 'two'})
294 db.merge(
311 for e in db.entries()},
317 db = read_db_from_csv(CSV_DATABASE)
318 self.assertEqual(len(db.entries()), 16)
319 self.assertEqual(len(db.token_to_entries), 16)
322 db.add(_entries('o000', '0Q1Q'))
324 self.assertEqual(len(db.entries()), 18)
325 self.assertEqual(len(db.token_to_entries), 17)
329 db = tokens.Database.from_strings(
333 all(entry.date_removed is None for entry in db.entries()))
336 db.mark_removed(_entries('apples', 'oranges', 'pears'), date_1)
339 db.token_to_entries[default_hash('MILK')][0].date_removed, date_1)
341 db.token_to_entries[default_hash('CHEESE')][0].date_removed,
345 db.mark_removed(_entries('MILK', 'CHEESE', 'pears'))
349 db.token_to_entries[default_hash('MILK')][0].date_removed, date_1)
351 db.token_to_entries[default_hash('CHEESE')][0].date_removed,
356 db.token_to_entries[default_hash('apples')][0].date_removed, now)
358 db.token_to_entries[default_hash('oranges')][0].date_removed, now)
360 db.token_to_entries[default_hash('pears')][0].date_removed)
363 db = tokens.Database()
364 db.add(_entries('MILK', 'apples'))
365 self.assertEqual({e.string for e in db.entries()}, {'MILK', 'apples'})
367 db.add(_entries('oranges', 'CHEESE', 'pears'))
368 self.assertEqual(len(db.entries()), 5)
370 db.add(_entries('MILK', 'apples', 'only this one is new'))
371 self.assertEqual(len(db.entries()), 6)
373 db.add(_entries('MILK'))
375 for e in db.entries()}, {
381 db = read_db_from_csv(CSV_DATABASE)
384 tokens.write_binary(db, fd)
391 db = tokens.Database(tokens.parse_binary(binary_db))
393 self.assertEqual(str(db), CSV_DATABASE)
408 db = tokens.DatabaseFile(self._path)
409 self.assertEqual(str(db), CSV_DATABASE)
411 db.add([tokens.TokenizedStringEntry(0xffffffff, 'New entry!')])
413 db.write_to_file()
440 self.db = tokens.Database([
452 self.db.filter(include=[' ']) # anything with a space
454 set(e.string for e in self.db.entries()),
458 self.db.filter(include=['Darth', 'cc', '^Han$'])
459 self.assertEqual(set(e.string for e in self.db.entries()),
463 self.db.filter(include=['Gandalf'])
464 self.assertFalse(self.db.entries())
467 self.db.filter(exclude=['^[^L]'])
468 self.assertEqual(set(e.string for e in self.db.entries()),
472 self.db.filter(exclude=[' ', 'Han', 'Chewbacca'])
473 self.assertEqual(set(e.string for e in self.db.entries()),
477 self.db.filter(exclude=['.*'])
478 self.assertFalse(self.db.entries())
481 self.db.filter(include=[' '], exclude=['Darth', 'Emperor'])
482 self.assertEqual(set(e.string for e in self.db.entries()),
486 self.db.filter()
488 set(e.string for e in self.db.entries()), {