Update GPR and SAR3D processing

This commit is contained in:
Ayzen
2026-10-08 16:24:01 +03:00
parent 390015ec39
commit 3575ca68f5
67 changed files with 1187 additions and 2581 deletions
+11 -5
View File
@@ -110,14 +110,20 @@ class GuiProfileCodecTest(unittest.TestCase):
with self.assertRaises(ValueError): # combos_text must be a JSON string, not a number
GuiProfileModel.from_dict({"gui": {"switches": {"combos_text": 123}}})
def test_legacy_gpr_payload_migrates_selected_mode(self) -> None:
# An old payload that selects 'gpr' but carries a legacy root gpr.mode is migrated.
def test_obsolete_inactive_settings_are_ignored(self) -> None:
decoded = GuiProfileModel.from_dict({
"gui": {"processing": {"selected_mode": "gpr"}},
"gpr": {"relative_permittivity": 4.0, "mode": "point"},
"gui": {"processing": {"selected_mode": "gpr", "legacy_gpr": "obsolete",
"gpr": {"algorithm": "legacy_point"}}},
"gpr": {"relative_permittivity": "obsolete", "mode": "point"},
})
assert decoded.gui is not None
self.assertEqual(decoded.gui.processing.selected_mode, "legacy_gpr")
self.assertEqual(decoded.gui.processing.selected_mode, "gpr")
self.assertNotIn("legacy_gpr", decoded.to_dict()["gui"]["processing"])
self.assertNotIn("relative_permittivity", decoded.to_dict()["gpr"])
def test_removed_processing_mode_is_rejected(self) -> None:
with self.assertRaisesRegex(ValueError, "selected_mode must be one of"):
GuiProfileModel.from_dict({"gui": {"processing": {"selected_mode": "legacy_gpr"}}})
def test_modern_gpr_selection_is_not_migrated(self) -> None:
decoded = GuiProfileModel.from_dict({"gui": {"processing": {"selected_mode": "gpr"}}})