From 2a91a0920e305be68586783c160d6d71bd19ae04 Mon Sep 17 00:00:00 2001 From: ndrsnhs Date: Mon, 18 Aug 2025 12:11:46 +0200 Subject: [PATCH] add identification test --- packages/control/ev/ev_test.py | 51 +++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/packages/control/ev/ev_test.py b/packages/control/ev/ev_test.py index 5b6649be7a..e4e91b2bc7 100644 --- a/packages/control/ev/ev_test.py +++ b/packages/control/ev/ev_test.py @@ -3,8 +3,10 @@ import pytest +from control import data + from control.chargepoint.control_parameter import ControlParameter -from control.ev.ev import Ev +from control.ev.ev import Ev, get_ev_to_rfid from helpermodules import timecheck from modules.common.abstract_vehicle import VehicleUpdateData from modules.vehicles.mqtt.config import MqttSocSetup @@ -73,3 +75,50 @@ def test_remaining_phase_switch_time(timestamp_last_phase_switch, # evaluation assert result == expected_result + + +@pytest.fixture(autouse=True) +def data_module() -> None: + data.data_init(Mock()) + ev10 = Ev(10) + ev11 = Ev(11) + ev12 = Ev(12) + ev13 = Ev(13) + ev14 = Ev(14) + ev15 = Ev(15) + ev10.data.tag_id = ["0815", "abcxyz"] + ev11.data.tag_id = ["aa:bb:cc:dd:ee:ff", "abc*"] + ev12.data.tag_id = ["123*", "abc?"] + ev13.data.tag_id = ["234?"] + ev14.data.tag_id = ["aa:aa:aa*"] + ev15.data.tag_id = ["bb:bb:bb:??:??:??"] + data.data.ev_data = {"ev10": ev10, "ev11": ev11, "ev12": ev12, "ev13": ev13, "ev14": ev14, "ev15": ev15} + + +@pytest.mark.parametrize( + "rfid, vehicle_id, expected_result", + [ + pytest.param("0815", None, 10), + pytest.param(None, "aa:bb:cc:dd:ee:ff", 11), + pytest.param("1239", None, 12), + pytest.param("1234231cxv23ds23", None, 12), + pytest.param("2345", None, 13), + pytest.param("2348", None, 13), + pytest.param("23489", None, None), + pytest.param("aa:aa:aa124a", None, 14), + pytest.param("aa:aa:aa:bb:bb:bb", None, 14), + pytest.param("bb:bb:bb:ca:bc:de", None, 15), + pytest.param("bb:bb:ba:ca:bc:de", None, None), + pytest.param("abcxyz", None, 10), + pytest.param("unknownTag", None, None), + pytest.param(None, "unknownID", None), + ], +) +def test_ev_identification(rfid, vehicle_id, expected_result): + # setup + + # execution + result = get_ev_to_rfid(rfid, vehicle_id) + + # evaluation + assert result == expected_result