From 6366b992488022c578a78839a63dd9a8f671cef0 Mon Sep 17 00:00:00 2001 From: "kirill.sizov" Date: Thu, 15 Apr 2021 10:41:13 +0300 Subject: [PATCH] test --- .../dataset_manager/tests/test_formats.py | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/cvat/apps/dataset_manager/tests/test_formats.py b/cvat/apps/dataset_manager/tests/test_formats.py index f4589fee..588f2ce6 100644 --- a/cvat/apps/dataset_manager/tests/test_formats.py +++ b/cvat/apps/dataset_manager/tests/test_formats.py @@ -217,9 +217,9 @@ class TaskExportTest(_DbTestBase): } return self._generate_custom_annotations(annotations, task) - def _generate_task_images(self, count): # pylint: disable=no-self-use + def _generate_task_images(self, count, name="image"): # pylint: disable=no-self-use images = { - "client_files[%d]" % i: generate_image_file("image_%d.jpg" % i) + "client_files[%d]" % i: generate_image_file(name + "_%d.jpg" % i) for i in range(count) } images["image_quality"] = 75 @@ -264,6 +264,21 @@ class TaskExportTest(_DbTestBase): check(file_path) + def _test_can_import_annotations(self, task, format_name): + with tempfile.TemporaryDirectory() as temp_dir: + file_path = osp.join(temp_dir, format_name) + + dm.task.export_task(task["id"], file_path, format_name) + expected_ann = TaskAnnotation(task["id"]) + expected_ann.init_from_db() + + dm.task.import_task_annotations(task["id"], + file_path, format_name) + actual_ann = TaskAnnotation(task["id"]) + actual_ann.init_from_db() + + self.assertEqual(len(expected_ann.data), len(actual_ann.data)) + def test_export_formats_query(self): formats = dm.views.get_export_formats() @@ -496,6 +511,21 @@ class TaskExportTest(_DbTestBase): self.assertTrue(frame.frame in range(6, 10)) self.assertEqual(i + 1, 4) + def test_can_import_annotations_for_image_with_dots_in_filename(self): + export_formats = [f.DISPLAY_NAME for f in dm.views.get_export_formats()] + formats = [f.DISPLAY_NAME for f in dm.views.get_import_formats() if + f.DISPLAY_NAME in export_formats] + for format_name in formats: + if format_name == "VGGFace2 1.0": + self.skipTest("Format is disabled") + + images = self._generate_task_images(2, "img0.0.0.") + task = self._generate_task(images) + self._generate_annotations(task) + + with self.subTest(format=format_name): + self._test_can_import_annotations(task, format_name) + class FrameMatchingTest(_DbTestBase): def _generate_task_images(self, paths): # pylint: disable=no-self-use f = BytesIO()