DriverTrac/venv/lib/python3.12/site-packages/tests/util/test_versions.py

44 lines
1.7 KiB
Python

import unittest
from importlib import import_module
from roboflow.util.versions import get_model_format, get_wrong_dependencies_versions
class TestVersions(unittest.TestCase):
def test_wrong_dependencies_versions(self):
module_path = "tests.util.dummy_module"
module_version = import_module(module_path).__version__
tests = [
("tests.util.dummy_module", "==", module_version),
("tests.util.dummy_module", "<=", "0.2.0"),
("tests.util.dummy_module", "<=", "1.0.0"),
("tests.util.dummy_module", ">=", "0.1.0"),
("tests.util.dummy_module", ">=", "0.6.0"),
("tests.util.dummy_module", ">=", "0.1.34"),
]
# true if dep is correc
expected_results = [True, False, True, True, False, True]
for test, expected_result in zip(tests, expected_results):
wrong_dependencies_versions = get_wrong_dependencies_versions([test])
is_correct_dep = len(wrong_dependencies_versions) == 0
self.assertEqual(is_correct_dep, expected_result)
class TestGetModelFormat(unittest.TestCase):
def test_get_model_format_with_various_ids(self):
cases = [
("yolov5v2s", "yolov5pytorch"),
("yolov11n", "yolov5pytorch"),
("rf-detr-nas-parent", "coco"),
("rfdetr-nano", "coco"),
("vit-base-patch16-224-in21k", "folder"),
("resnet14", "folder"),
("resenet38", "yolov5pytorch"),
("invlid-type", "yolov5pytorch"),
]
for model_type, expected_format in cases:
with self.subTest(model_type=model_type):
self.assertEqual(get_model_format(model_type), expected_format)