Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)