Skip to content

Commit 02357b3

Browse files
author
Achaad
committed
feat: add metadata parsing
1 parent c4708c9 commit 02357b3

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

tests/test_records_metadata.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from typing import Any
22
from unittest import mock
33

4+
import numpy as np
5+
46
from asar_xarray import utils
57
from asar_xarray.records_metadata import process_dop_centroid_coeffs, process_measurement_sq_metadata, \
68
process_general_main_processing_params, process_noise_estimation, process_error_counters, process_parameter_codes, \
@@ -51,7 +53,7 @@ def test_processes_single_float_value_correctly() -> None:
5153
"MDS1_SQ_ADS_FLOAT_VALUE": "0.5"
5254
}
5355
result = process_measurement_sq_metadata(metadata)
54-
assert result["float_value"] == 0.5
56+
assert np.isclose(result["float_value"], 0.5, rtol=1e-09, atol=1e-09)
5557

5658

5759
def test_processes_boolean_flags_correctly() -> None:
@@ -75,7 +77,7 @@ def test_processes_valid_general_main_processing_params() -> None:
7577
result = process_general_main_processing_params(metadata)
7678
assert result["zero_doppler_time"] == utils.get_envisat_time("123, 45, 678")
7779
assert result["valid_flag"] is True
78-
assert result["float_value"] == 0.123
80+
assert np.isclose(result["float_value"], 0.123, rtol=1e-09, atol=1e-09)
7981
assert result["integer_value"] == 42
8082
assert result["string_value"] == "example"
8183

@@ -600,7 +602,7 @@ def test_processes_all_main_processing_params_correctly() -> None:
600602
result = process_main_processing_params(metadata)
601603
assert result["raw_data_analysis"] == [{"index": 1, "param_a": 4.56}]
602604
assert result["image_parameters"]["param_a"] == [0.1, 0.2]
603-
assert result["bandwidth"]["param_a"] == 0.5
605+
assert np.isclose(result["bandwidth"]["param_a"], 0.5, rtol=1e-9, atol=1e-9)
604606
assert result["nominal_chirp"] == [{"index": 1, "param_a": 2.0}]
605607
assert result["calibration_factors"] == [{"index": 1, "factor_a": 3.14}]
606608
assert result["output_statistics"] == [{"index": 1, "value_a": 0.01}]
@@ -634,7 +636,7 @@ def test_skips_invalid_keys_in_main_processing_params() -> None:
634636
}
635637
result = process_main_processing_params(metadata)
636638
assert "invalid_key" not in result
637-
assert result["general.param_a"] == 1.23
639+
assert np.isclose(result["general.param_a"], 1.23, rtol=1e-9, atol=1e-9)
638640

639641
def test_handles_invalid_values_gracefully_in_main_processing_params() -> None:
640642
metadata = {
@@ -662,8 +664,8 @@ def test_processes_records_metadata_correctly() -> None:
662664
}
663665
attributes: dict[str, Any] = {}
664666
process_records_metadata(dataset, attributes)
665-
assert attributes["records"]["measurement_sq"]["param_a"] == 1.23
666-
assert attributes["records"]["main_processing_params"]["general.param_a"] == 4.56
667+
assert np.isclose(attributes["records"]["measurement_sq"]["param_a"], 1.23, rtol=1e-09, atol=1e-09)
668+
assert np.isclose(attributes["records"]["main_processing_params"]["general.param_a"], 4.56, rtol=1e-09, atol=1e-09)
667669
assert attributes["records"]["dop_centroid_coeffs"]["zero_doppler_time"] == utils.get_envisat_time("12345, 12, 10")
668670

669671
def test_handles_empty_records_metadata() -> None:
@@ -687,7 +689,7 @@ def test_handles_empty_records_metadata() -> None:
687689
}
688690
assert attributes["records"]["dop_centroid_coeffs"] == {}
689691

690-
def stest_kips_invalid_records_metadata_keys() -> None:
692+
def test_kips_invalid_records_metadata_keys() -> None:
691693
dataset = mock.Mock()
692694
dataset.GetMetadata.return_value = {
693695
"INVALID_KEY": "value",
@@ -696,4 +698,4 @@ def stest_kips_invalid_records_metadata_keys() -> None:
696698
attributes: dict[str, Any] = {}
697699
process_records_metadata(dataset, attributes)
698700
assert "invalid_key" not in attributes["records"]
699-
assert attributes["records"]["measurement_sq"]["param_a"] == 1.23
701+
assert np.isclose(attributes["records"]["measurement_sq"]["param_a"], 1.23, atol=1e-8)

0 commit comments

Comments
 (0)