diff --git a/test/unit/test_validate.py b/test/unit/test_validate.py index bf58fea..e403bd9 100644 --- a/test/unit/test_validate.py +++ b/test/unit/test_validate.py @@ -1,3 +1,5 @@ +from pathlib import Path + import numpy as np from numpy.testing import assert_almost_equal @@ -37,6 +39,27 @@ def test_map_negentropy(noise_free_map: Map, very_noisy_map: Map) -> None: assert validate.map_negentropy(noise_free_map) > validate.map_negentropy(very_noisy_map) +def test_maximizer_metadata_smoke(tv_denoise_result_source_data: dict) -> None: + validate.MaximizerScanMetadata(**tv_denoise_result_source_data) + + +def test_maximizer_metadata_json_roundtrip(tv_denoise_result_source_data: dict) -> None: + metadata = validate.MaximizerScanMetadata(**tv_denoise_result_source_data) + json_metadata = metadata.json() + new_metadata = metadata.from_json(json_metadata) + assert new_metadata == metadata + + +def test_maximizer_metadata_read_write_roundtrip( + tv_denoise_result_source_data: dict, tmp_path: Path +) -> None: + metadata = validate.MaximizerScanMetadata(**tv_denoise_result_source_data) + json_file = tmp_path / "metadata.json" + metadata.to_json_file(json_file) + new_metadata = metadata.from_json_file(json_file) + assert new_metadata == metadata + + def test_negentropy_maximizer_explicit() -> None: maximizer = validate.ScalarMaximizer(objective=parabolic_objective) test_values = np.linspace(-5, 5, 11)