test_simulation
Tests for Simulation class.
functemp_sim_dir(tmp_path)Create temporary simulation directory with required files.
paramtmp_pathReturns
Nonefuncmock_build_input_bilayer()Create mock BuildInput for bilayer simulation.
Returns
Nonefuncmock_build_input_mixedbox()Create mock BuildInput for mixedbox simulation.
Returns
Nonefuncsample_dataframe()Create sample DataFrame for analysis data.
Returns
Nonefunctest_init_with_build_input(temp_sim_dir, mock_build_input_bilayer)Test Simulation initialization with BuildInput provided.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_init_without_build_input(temp_sim_dir)Test Simulation initialization without BuildInput.
paramtemp_sim_dirReturns
Nonefunctest_init_not_directory_raises(tmp_path)Test initialization with non-directory raises error.
paramtmp_pathReturns
Nonefunctest_init_nonexistent_raises(tmp_path)Test initialization with nonexistent path raises error.
paramtmp_pathReturns
Nonefunctest_build_input_property_returns_existing(temp_sim_dir, mock_build_input_bilayer)Test build_input property returns existing instance.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_build_input_property_loads_if_none(mock_discover, temp_sim_dir, mock_build_input_bilayer)Test build_input property loads from YAML if not provided.
parammock_discoverparamtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_metadata_property_bilayer(temp_sim_dir, mock_build_input_bilayer)Test metadata property generates correct structure for bilayer.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_metadata_property_mixedbox(temp_sim_dir, mock_build_input_mixedbox)Test metadata property generates correct structure for mixedbox.
paramtemp_sim_dirparammock_build_input_mixedboxReturns
Nonefunctest_analysis_dir_property(temp_sim_dir, mock_build_input_bilayer)Test analysis_dir property returns correct path.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_registry_property_lazy_loads(temp_sim_dir, mock_build_input_bilayer)Test registry property lazy-loads AnalysisRegistry.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_registry_property_returns_same_instance(temp_sim_dir, mock_build_input_bilayer)Test registry property returns same instance on multiple calls.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_save_metadata(temp_sim_dir, mock_build_input_bilayer)Test saving metadata to disk.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_load_metadata(temp_sim_dir, mock_build_input_bilayer)Test loading metadata from disk.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_load_metadata_missing_raises(temp_sim_dir, mock_build_input_bilayer)Test loading nonexistent metadata raises FileNotFoundError.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_save_load_metadata_roundtrip(temp_sim_dir, mock_build_input_bilayer)Test save/load metadata round-trip preserves data.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_save_analysis(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test saving analysis creates parquet and updates registry.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_save_analysis_creates_directory(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test save_analysis creates .analysis directory if needed.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_save_analysis_with_extras(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test save_analysis stores extra metadata.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_load_analysis(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test loading analysis from parquet.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_load_analysis_missing_raises(temp_sim_dir, mock_build_input_bilayer)Test loading nonexistent analysis raises FileNotFoundError.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_save_load_analysis_roundtrip(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test save/load analysis round-trip preserves data.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_list_analyses_empty(temp_sim_dir, mock_build_input_bilayer)Test list_analyses returns empty list when no analyses exist.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_list_analyses(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test list_analyses returns analysis names.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_run_analysis_not_registered_raises(temp_sim_dir, mock_build_input_bilayer)Test run_analysis with unregistered analysis raises ValueError.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_run_analysis_generates_data(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test run_analysis executes a registered analysis.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_run_analysis_executes_function(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test run_analysis executes and saves result.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_run_analysis_ignores_unsupported_kwargs(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)run_analysis should drop kwargs not accepted by the analysis function.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_check_integrity_valid(temp_sim_dir, mock_build_input_bilayer)Test check_integrity returns valid for complete simulation.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_check_integrity_missing_metadata(temp_sim_dir, mock_build_input_bilayer)Test check_integrity detects missing metadata.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_check_integrity_missing_yaml(temp_sim_dir, mock_build_input_bilayer)Test check_integrity detects missing BuildInput YAML.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_check_integrity_registry_issues(temp_sim_dir, mock_build_input_bilayer, sample_dataframe)Test check_integrity detects registry issues.
paramtemp_sim_dirparammock_build_input_bilayerparamsample_dataframeReturns
Nonefunctest_save_load_artifact_last_frame_pdb(temp_sim_dir, mock_build_input_bilayer)Test saving and loading last-frame PDB artifact.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_artifact_integrity_checksum_mismatch(temp_sim_dir, mock_build_input_bilayer)Test registry integrity detects artifact checksum mismatch.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_artifact_integrity_missing_file(temp_sim_dir, mock_build_input_bilayer)Test registry integrity detects missing artifact files.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_remove_artifact(temp_sim_dir, mock_build_input_bilayer)Test removing artifact files and registry entries.
paramtemp_sim_dirparammock_build_input_bilayerReturns
Nonefunctest_discover_build_input(mock_load_yaml, tmp_path, mock_build_input_bilayer)Test discover_build_input static method.
parammock_load_yamlparamtmp_pathparammock_build_input_bilayerReturns
Nonefunctest_discover_build_input_no_yaml(tmp_path)Test discover_build_input raises if no YAML found.
paramtmp_pathReturns
Nonefunctest_discover_build_input_no_valid_yaml(mock_load_yaml, tmp_path)Test discover_build_input raises if no valid BuildInput.
parammock_load_yamlparamtmp_pathReturns
Nonefunctest_discover_build_input_multiple_yaml(mock_load_yaml, tmp_path, mock_build_input_bilayer)Test discover_build_input raises if multiple valid YAMLs.
parammock_load_yamlparamtmp_pathparammock_build_input_bilayerReturns
Nonefunctest_discover_build_input_nonexistent(tmp_path)Test discover_build_input raises for nonexistent directory.
paramtmp_pathReturns
Nonefunctest_simulation_with_string_path(tmp_path, mock_build_input_bilayer)Test Simulation accepts string path.
paramtmp_pathparammock_build_input_bilayerReturns
Nonefunctest_analysis_registry_has_bilayer_analyses()Test ANALYSIS_REGISTRY includes expected bilayer analyses.
Returns
Nonefunctest_analysis_registry_has_mixedbox_analyses()Test ANALYSIS_REGISTRY includes expected mixedbox analyses.
Returns
Nonefunctest_artifact_registry_has_defaults()Test ARTIFACT_REGISTRY includes expected artifact entries.
Returns
None