test_analysis_utils
Tests for analysis utility functions including simulation discovery,.
funcmock_build_input()Create a mock BuildInput object.
Returns
Nonefunctemp_simulation_dir(tmp_path)Create a temporary simulation directory structure.
paramtmp_pathReturns
Nonefunctest_discover_simulations_basic(temp_simulation_dir, mock_build_input)Test basic discovery of simulations.
paramtemp_simulation_dirparammock_build_inputReturns
Nonefunctest_discover_simulations_no_directories(tmp_path)Test with no valid directories.
paramtmp_pathReturns
Nonefunctest_discover_simulations_missing_files(tmp_path)Test directory missing required files.
paramtmp_pathReturns
Nonefunctest_discover_simulations_no_yaml(tmp_path)Test directory with no YAML files.
paramtmp_pathReturns
Nonefunctest_discover_simulations_multiple_valid_yaml(temp_simulation_dir, mock_build_input)Test error when multiple valid YAML files exist.
paramtemp_simulation_dirparammock_build_inputReturns
Nonefunctest_discover_simulations_invalid_yaml(temp_simulation_dir)Test handling of invalid YAML files.
paramtemp_simulation_dirReturns
Nonefunctest_discover_simulations_custom_filenames(tmp_path, mock_build_input)Test with custom trajectory and structure filenames.
paramtmp_pathparammock_build_inputReturns
Nonefunctest_discover_simulations_string_path(temp_simulation_dir, mock_build_input)Test with string path instead of Path object.
paramtemp_simulation_dirparammock_build_inputReturns
Nonefunctest_discover_simulations_multiple_dirs(tmp_path, mock_build_input)Test discovery across multiple simulation directories.
paramtmp_pathparammock_build_inputReturns
Nonefunctest_flatten_species_composition() → NoneTest flatten_species_composition returns expected keys.
Returns
Nonefunctest_flatten_system_parameters() → NoneTest flatten_system_parameters merges system_specific metadata.
Returns
Nonefunctest_discover_simulations_invalid_min_status(tmp_path)Test ValueError raised for invalid min_status.
paramtmp_pathReturns
Nonefunctest_discover_simulations_status_order_constant()Test STATUS_ORDER contains expected values in correct order.
Returns
Nonefunctest_discover_simulations_min_status_default(temp_simulation_dir, mock_build_input)Test that min_status defaults to 'production' (backward compatibility).
paramtemp_simulation_dirparammock_build_inputReturns
Nonefunctest_discover_simulations_min_status_build(tmp_path, mock_build_input)Test min_status='build' includes simulations without trajectory.
paramtmp_pathparammock_build_inputReturns
Nonefunctest_discover_simulations_min_status_completed(tmp_path, mock_build_input)Test min_status='completed' excludes non-completed simulations.
paramtmp_pathparammock_build_inputReturns
Nonefunctest_discover_simulations_status_column_values(tmp_path, mock_build_input)Test status column returns correct status values based on files.
paramtmp_pathparammock_build_inputReturns
Nonefunctest_discover_simulations_filters_by_status_threshold(tmp_path, mock_build_input)Test that simulations below min_status threshold are excluded.
paramtmp_pathparammock_build_inputReturns
Nonefunc_fake_universe(n_frames, dt_ps=10.0)Build a minimal object that satisfies trajectory_window's interface.
paramn_framesintparamdt_psfloat= 10.0Returns
Nonefunctest_trajectory_window_defaults() → NoneNo start_ns or last_ns returns the full trajectory.
Returns
Nonefunctest_trajectory_window_start_ns() → Nonestart_ns crops the beginning of the trajectory.
Returns
Nonefunctest_trajectory_window_last_ns() → Nonelast_ns selects the trailing portion of the trajectory.
Returns
Nonefunctest_trajectory_window_last_ns_overrides_start_ns() → Nonelast_ns takes precedence when both are provided.
Returns
Nonefunctest_trajectory_window_stride() → Nonestride is passed through as the step value.
Returns
Nonefunctest_trajectory_window_start_ns_beyond_trajectory() → Nonestart_ns past the end clamps to total_frames.
Returns
Nonefunctest_trajectory_window_end_ns() → Noneend_ns caps the stop frame.
Returns
Nonefunctest_trajectory_window_end_ns_none() → Noneend_ns=None returns full trajectory (default).
Returns
Nonefunctest_trajectory_window_start_ns_and_end_ns() → Nonestart_ns and end_ns together define a sub-window.
Returns
Nonefunctest_trajectory_window_end_ns_beyond_trajectory() → Noneend_ns past the end clamps to total_frames.
Returns
Nonefunctest_run_per_frame_analysis_preserves_ragged_results() → NoneRagged per-frame outputs should be returned as a Python list.
Returns
None