(self)
| 381 | |
| 382 | @unittest.skipIf("LevelDB" not in core.C.registered_dbs(), "Need LevelDB") |
| 383 | def test_cached_reader(self): |
| 384 | ws = workspace.C.Workspace() |
| 385 | session = LocalSession(ws) |
| 386 | db_path = self._make_temp_path() |
| 387 | |
| 388 | # Read data for the first time. |
| 389 | cached_reader1 = CachedReader( |
| 390 | self._build_source_reader(ws, 100), db_path, loop_over=False, |
| 391 | ) |
| 392 | build_cache_step = cached_reader1.build_cache_step() |
| 393 | session.run(build_cache_step) |
| 394 | |
| 395 | data = self._read_all_data(ws, cached_reader1, session) |
| 396 | self.assertEqual(sorted(data), list(range(100))) |
| 397 | |
| 398 | # Read data from cache. |
| 399 | cached_reader2 = CachedReader( |
| 400 | self._build_source_reader(ws, 200), db_path, |
| 401 | ) |
| 402 | build_cache_step = cached_reader2.build_cache_step() |
| 403 | session.run(build_cache_step) |
| 404 | |
| 405 | data = self._read_all_data(ws, cached_reader2, session) |
| 406 | self.assertEqual(sorted(data), list(range(100))) |
| 407 | |
| 408 | self._delete_path(db_path) |
| 409 | |
| 410 | # We removed cache so we expect to receive data from original reader. |
| 411 | cached_reader3 = CachedReader( |
| 412 | self._build_source_reader(ws, 300), db_path, |
| 413 | ) |
| 414 | build_cache_step = cached_reader3.build_cache_step() |
| 415 | session.run(build_cache_step) |
| 416 | |
| 417 | data = self._read_all_data(ws, cached_reader3, session) |
| 418 | self.assertEqual(sorted(data), list(range(300))) |
| 419 | |
| 420 | self._delete_path(db_path) |
| 421 | |
| 422 | @unittest.skipIf("LevelDB" not in core.C.registered_dbs(), "Need LevelDB") |
| 423 | def test_db_file_reader(self): |
nothing calls this directly
no test coverage detected