def test_find_roots_skips_roots_that_find_files_raises_exception( self, mock_kitti_loader): def mock_find_root(path, sequence_id): if sequence_id % 2 == 0: raise FileNotFoundError return path / "{0:03}".format(sequence_id) mock_kitti_loader.find_root.side_effect = mock_find_root root_folder = Path(__file__).parent root_dirs = KITTIManager.find_roots(root_folder) self.assertEqual( { sequence_id: root_folder / "{0:03}".format(sequence_id) for sequence_id in range(11) if sequence_id % 2 != 0 }, root_dirs)
def test_find_roots_uses_root_found_by_the_loader_for_each_sequence( self, mock_kitti_loader): marker = "foobar" root_folder = Path(__file__).parent mock_kitti_loader.find_root.side_effect = lambda x, seq: x / "{0:03}".format( seq) / marker root_dirs = KITTIManager.find_roots(root_folder) self.assertTrue(mock_kitti_loader.find_root.called) for sequence_id in range(11): self.assertIn(mock.call(root_folder, sequence_id), mock_kitti_loader.find_root.call_args_list) self.assertEqual( { sequence_id: root_folder / "{0:03}".format(sequence_id) / marker for sequence_id in range(11) }, root_dirs)