Lines Matching full:db
171 db = read_db_from_csv(CSV_DATABASE)
172 self.assertEqual(str(db), CSV_DATABASE)
174 db = read_db_from_csv('')
175 self.assertEqual(str(db), '')
178 db = read_db_from_csv('')
179 self.assertEqual(str(db), '')
181 db = read_db_from_csv('abc123,2048-04-01,Fake string\n')
182 self.assertEqual(str(db), '00abc123,2048-04-01,"Fake string"\n')
184 db = read_db_from_csv(
188 str(db),
197 db = read_db_from_csv(INVALID_CSV)
200 self.assertEqual(len(db.token_to_entries), 3)
202 self.assertEqual(db.token_to_entries[1][0].string, 'Whoa there!')
203 self.assertFalse(db.token_to_entries[2])
204 self.assertEqual(db.token_to_entries[3][0].string, "This one's OK")
205 self.assertFalse(db.token_to_entries[4])
206 self.assertEqual(db.token_to_entries[5][0].string, "I'm %s fine")
207 self.assertFalse(db.token_to_entries[6])
210 db = read_db_from_csv(CSV_DATABASE)
211 self.assertEqual(db.token_to_entries[0x9999], [])
213 matches = db.token_to_entries[0x2E668CD6]
221 matches = db.token_to_entries[0xE13B0F94]
228 (answer,) = db.token_to_entries[0x141C35D5]
236 db = tokens.Database.from_strings(['o000', '0Q1Q'])
238 self.assertEqual(len(db.token_to_entries[hash_1]), 2)
240 [entry.string for entry in db.token_to_entries[hash_1]],
245 db = read_db_from_csv(CSV_DATABASE)
246 original_length = len(db.token_to_entries)
248 self.assertEqual(db.token_to_entries[0][0].string, '')
249 self.assertEqual(db.token_to_entries[0x31631781][0].string, '%d')
251 db.token_to_entries[0x2E668CD6][0].string, 'Jello, world!'
253 self.assertEqual(db.token_to_entries[0xB3653E13][0].string, 'Jello!')
254 self.assertEqual(db.token_to_entries[0xCC6D3131][0].string, 'Jello?')
256 db.token_to_entries[0xE65AEFEF][0].string, "Won't fit : %s%d"
259 db.purge(datetime(2019, 6, 11))
260 self.assertLess(len(db.token_to_entries), original_length)
262 self.assertFalse(db.token_to_entries[0])
263 self.assertEqual(db.token_to_entries[0x31631781][0].string, '%d')
264 self.assertFalse(db.token_to_entries[0x2E668CD6])
265 self.assertEqual(db.token_to_entries[0xB3653E13][0].string, 'Jello!')
266 self.assertEqual(db.token_to_entries[0xCC6D3131][0].string, 'Jello?')
267 self.assertFalse(db.token_to_entries[0xE65AEFEF])
272 db = tokens.Database()
275 db.merge(
287 self.assertEqual({str(e) for e in db.entries()}, {'one', 'two'})
288 self.assertEqual(db.token_to_entries[1][0].date_removed, datetime.min)
289 self.assertEqual(db.token_to_entries[2][0].date_removed, datetime.min)
292 db.merge(
303 {str(e) for e in db.entries()}, {'one', 'two', 'three', 'four'}
305 self.assertIsNone(db.token_to_entries[3][0].date_removed)
306 self.assertEqual(db.token_to_entries[4][0].date_removed, datetime.min)
309 db.merge(
317 {str(e) for e in db.entries()},
320 self.assertEqual(db.token_to_entries[4][0].date_removed, datetime.min)
321 self.assertIsNone(db.token_to_entries[5][0].date_removed)
324 db.merge(
336 self.assertEqual(len(db.entries()), 5)
338 {str(e) for e in db.entries()},
341 self.assertEqual(db.token_to_entries[4][0].date_removed, datetime.max)
342 self.assertIsNone(db.token_to_entries[5][0].date_removed)
345 db.merge(
353 self.assertEqual(len(db.entries()), 5)
355 {str(e) for e in db.entries()},
358 self.assertIsNone(db.token_to_entries[4][0].date_removed)
359 self.assertIsNone(db.token_to_entries[5][0].date_removed)
362 db.merge(tokens.Database([]))
364 {str(e) for e in db.entries()},
370 db = tokens.Database.merged(
393 self.assertEqual({str(e) for e in db.entries()}, {'one', 'two'})
395 db.merge(
419 {str(e) for e in db.entries()}, {'one', 'two', 'three', 'four'}
425 db = read_db_from_csv(CSV_DATABASE)
426 self.assertEqual(len(db.entries()), 16)
427 self.assertEqual(len(db.token_to_entries), 16)
430 db.add(_entries('o000', '0Q1Q'))
432 self.assertEqual(len(db.entries()), 18)
433 self.assertEqual(len(db.token_to_entries), 17)
437 db = tokens.Database.from_strings(
442 all(entry.date_removed is None for entry in db.entries())
446 db.mark_removed(_entries('apples', 'oranges', 'pears'), date_1)
449 db.token_to_entries[c_hash('MILK')][0].date_removed, date_1
452 db.token_to_entries[c_hash('CHEESE')][0].date_removed, date_1
456 db.mark_removed(_entries('MILK', 'CHEESE', 'pears'))
459 milk_date = db.token_to_entries[c_hash('MILK')][0].date_removed
463 cheese_date = db.token_to_entries[c_hash('CHEESE')][0].date_removed
468 apples_date = db.token_to_entries[c_hash('apples')][0].date_removed
472 oranges_date = db.token_to_entries[c_hash('oranges')][0].date_removed
475 self.assertIsNone(db.token_to_entries[c_hash('pears')][0].date_removed)
478 db = tokens.Database()
479 db.add(_entries('MILK', 'apples'))
480 self.assertEqual({e.string for e in db.entries()}, {'MILK', 'apples'})
482 db.add(_entries('oranges', 'CHEESE', 'pears'))
483 self.assertEqual(len(db.entries()), 5)
485 db.add(_entries('MILK', 'apples', 'only this one is new'))
486 self.assertEqual(len(db.entries()), 6)
488 db.add(_entries('MILK'))
490 {e.string for e in db.entries()},
502 db = tokens.Database()
503 db.add(
510 self.assertEqual(len(db), 1)
511 self.assertIsNone(db.token_to_entries[1][0].date_removed)
514 db = tokens.Database()
515 db.add(
523 self.assertEqual(len(db), 1)
524 self.assertEqual(db.token_to_entries[1][0].date_removed, datetime.max)
545 db = read_db_from_csv(CSV_DATABASE)
548 tokens.write_binary(db, fd)
555 db = tokens.Database(tokens.parse_binary(binary_db))
557 self.assertEqual(str(db), CSV_DATABASE)
573 db = tokens.DatabaseFile.load(self._path)
574 self.assertEqual(str(db), CSV_DATABASE)
576 db.add([tokens.TokenizedStringEntry(0xFFFFFFFF, 'New entry!')])
578 db.write_to_file()
608 self.db = tokens.Database(
622 self.db.filter(include=[' ']) # anything with a space
624 set(e.string for e in self.db.entries()),
629 self.db.filter(include=['Darth', 'cc', '^Han$'])
631 set(e.string for e in self.db.entries()),
636 self.db.filter(include=['Gandalf'])
637 self.assertFalse(self.db.entries())
640 self.db.filter(exclude=['^[^L]'])
642 set(e.string for e in self.db.entries()), {'Luke', 'Leia'}
646 self.db.filter(exclude=[' ', 'Han', 'Chewbacca'])
648 set(e.string for e in self.db.entries()), {'Luke', 'Leia'}
652 self.db.filter(exclude=['.*'])
653 self.assertFalse(self.db.entries())
656 self.db.filter(include=[' '], exclude=['Darth', 'Emperor'])
657 self.assertEqual(set(e.string for e in self.db.entries()), {'Han Solo'})
660 self.db.filter()
662 set(e.string for e in self.db.entries()),