"""Tests for the main BioRLHF package.""" import pytest class TestPackageImports: """Test that package exports are available.""" def test_version_available(self): """Test that version is accessible.""" from biorlhf import __version__ assert isinstance(__version__, str) assert __version__ == "0.1.0" def test_author_metadata(self): """Test that author metadata is available.""" from biorlhf import __author__, __email__ assert isinstance(__author__, str) assert isinstance(__email__, str) def test_sft_training_imports(self): """Test that SFT training components are importable.""" from biorlhf import SFTTrainingConfig, run_sft_training assert SFTTrainingConfig is not None assert callable(run_sft_training) def test_dpo_training_imports(self): """Test that DPO training components are importable.""" from biorlhf import DPOTrainingConfig, run_dpo_training assert DPOTrainingConfig is not None assert callable(run_dpo_training) def test_dataset_imports(self): """Test that dataset functions are importable.""" from biorlhf import create_sft_dataset, load_dataset assert callable(create_sft_dataset) assert callable(load_dataset) def test_evaluation_imports(self): """Test that evaluation functions are importable.""" from biorlhf import evaluate_model assert callable(evaluate_model) def test_all_exports(self): """Test that __all__ contains expected exports.""" import biorlhf expected_exports = [ "__version__", "SFTTrainingConfig", "run_sft_training", "DPOTrainingConfig", "run_dpo_training", "create_sft_dataset", "load_dataset", "evaluate_model", ] for export in expected_exports: assert export in biorlhf.__all__, f"{export} missing from __all__" class TestSubmoduleImports: """Test that submodules are properly organized.""" def test_training_submodule(self): """Test training submodule structure.""" from biorlhf.training import SFTTrainingConfig, DPOTrainingConfig assert SFTTrainingConfig is not None assert DPOTrainingConfig is not None def test_data_submodule(self): """Test data submodule structure.""" from biorlhf.data import ground_truth, dataset assert hasattr(ground_truth, "STRESSOR_EFFECTS") assert hasattr(dataset, "create_sft_dataset") def test_evaluation_submodule(self): """Test evaluation submodule structure.""" from biorlhf.evaluation import evaluate assert hasattr(evaluate, "evaluate_model") def test_utils_submodule(self): """Test utils submodule structure.""" from biorlhf.utils import model_utils assert model_utils is not None