diff --git a/src/workrb/tasks/ranking/__init__.py b/src/workrb/tasks/ranking/__init__.py index 68c8fe6..ce13977 100644 --- a/src/workrb/tasks/ranking/__init__.py +++ b/src/workrb/tasks/ranking/__init__.py @@ -13,6 +13,7 @@ from workrb.tasks.ranking.skill2job import ESCOSkill2JobRanking from workrb.tasks.ranking.skill_extraction import ( HouseSkillExtractRanking, + SkillSkapeExtractRanking, TechSkillExtractRanking, ) from workrb.tasks.ranking.skill_similarity import SkillMatch1kSkillSimilarityRanking diff --git a/tests/test_import.py b/tests/test_import.py index e70ce44..e2dccf3 100644 --- a/tests/test_import.py +++ b/tests/test_import.py @@ -1,6 +1,10 @@ """Test basic import functionality.""" +import importlib + +from workrb import tasks from workrb.config import BenchmarkConfig +from workrb.registry import TaskRegistry from workrb.tasks import ( ESCOJob2SkillClassification, ESCOJob2SkillRanking, @@ -13,6 +17,7 @@ SkillMatch1kSkillSimilarityRanking, Task, TechSkillExtractRanking, + ranking, ) @@ -51,6 +56,40 @@ def test_task_ranking_imports(): print("✓ Successfully imported ranking task classes") +def test_task_package_exports(): + """Test that all registered tasks are imported into workrb.tasks.""" + TaskRegistry.auto_discover() + registered = TaskRegistry.list_available().values() + + missing = [] + for module_path in registered: + module_name, class_name = module_path.rsplit(".", 1) + module = importlib.import_module(module_name) + task_class = getattr(module, class_name) + if not hasattr(tasks, task_class.__name__): + missing.append(task_class.__name__) + + assert not missing, f"Missing task imports in workrb.tasks: {missing}" + + +def test_ranking_package_exports(): + """Test that all registered ranking tasks are imported into workrb.tasks.ranking.""" + TaskRegistry.auto_discover() + registered = TaskRegistry.list_available().values() + + missing = [] + for module_path in registered: + module_name, class_name = module_path.rsplit(".", 1) + if not module_name.startswith("workrb.tasks.ranking."): + continue + module = importlib.import_module(module_name) + task_class = getattr(module, class_name) + if not hasattr(ranking, task_class.__name__): + missing.append(task_class.__name__) + + assert not missing, f"Missing task imports in workrb.tasks.ranking: {missing}" + + if __name__ == "__main__": """Run tests directly for quick verification.""" test_basic_imports()