Skip to content

Commit

Permalink
Add a testcase for downward compatibility with outdated entry names
Browse files Browse the repository at this point in the history
  • Loading branch information
Guzz-T committed Oct 31, 2024
1 parent bc4f26c commit 58cd5c6
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions tests/test_LuxtronikData.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Test suite for LuxtronikData"""

import pytest
from luxtronik import LuxtronikData, Parameters, Calculations, Visibilities


Expand Down Expand Up @@ -47,3 +48,36 @@ def test_get_firmware_version(self):

a.calculations.get(84).raw = ord("1")
assert a.get_firmware_version() == "V3.1"

# Test of downward compatibility with outdated entry name
assert a.calculations.get("ID_WEB_SoftStand").value == "V3.1"

@pytest.mark.parametrize("vector, index, names", [
("para", 1106, ["ID_Einst_SilenceTimer_13", "Unknown_Parameter_1106"]),
("para", 1109, ["ID_Einst_SilenceTimer_16", "Unknown_Parameter_1109"]),
("calc", 232, ["Vapourisation_Temperature", "Unknown_Calculation_232"]),
("calc", 241, ["HUP_PWM", "Circulation_Pump", "Unknown_Calculation_241"]),
("visi", 182, ["ID_Visi_Heizung_Zeitschaltprogramm", "ID_Visi_Heizung_Zeitschlaltprogramm", "Unknown_Visibility_182"]),
("visi", 326, ["Unknown_Visibility_326"]),
])
def test_downward_compatibility(self, vector, index, names):
"""Test data access with outdated names"""

a = LuxtronikData()

match vector:
case "para":
vector = a.parameters
case "calc":
vector = a.calculations
case _:
vector = a.visibilities

entry = vector.get(index)
for name in names:
e = vector.get(name)
assert e == entry
assert e.name == names[0]
assert e.get_supported_names() == names


0 comments on commit 58cd5c6

Please sign in to comment.