|
9 | 9 | # pylint: disable=attribute-defined-outside-init |
10 | 10 |
|
11 | 11 | from tests.test_infra import reset_inverter |
12 | | -from utils import calc_percent_limit |
| 12 | +from utils import calc_percent_limit, local_midnight |
13 | 13 |
|
14 | 14 |
|
15 | 15 | class ActiveTestInverter: |
16 | | - def __init__(self, id, soc_kw, soc_max, now_utc): |
| 16 | + """Mock inverter for execute tests.""" |
| 17 | + |
| 18 | + def __init__(self, id, soc_kw, soc_max, now_utc, local_tz=None): |
| 19 | + """Initialise mock inverter.""" |
17 | 20 | self.soc_target = -1 |
18 | 21 | self.id = id |
19 | 22 | self.isCharging = False |
@@ -53,7 +56,7 @@ def __init__(self, id, soc_kw, soc_max, now_utc): |
53 | 56 | self.battery_rate_max_discharge = 1 / 60.0 |
54 | 57 | self.reserve_max = 100.0 |
55 | 58 | self.now_utc = now_utc |
56 | | - self.midnight_utc = now_utc.replace(hour=0, minute=0, second=0, microsecond=0) |
| 59 | + self.midnight_utc = local_midnight(now_utc, local_tz) |
57 | 60 | self.count_register_writes = 0 |
58 | 61 | self.charge_window = [] |
59 | 62 | self.charge_limits = [] |
@@ -424,7 +427,7 @@ def run_execute_tests(my_predbat): |
424 | 427 | export_limits_best3 = [50.5] |
425 | 428 | export_limits_best_frz = [99] |
426 | 429 |
|
427 | | - inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc)] |
| 430 | + inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz)] |
428 | 431 | my_predbat.inverters = inverters |
429 | 432 | my_predbat.args["num_inverters"] = 2 |
430 | 433 |
|
@@ -1249,7 +1252,7 @@ def run_execute_tests(my_predbat): |
1249 | 1252 | my_predbat.debug_enable = False |
1250 | 1253 |
|
1251 | 1254 | # Reset inverters |
1252 | | - inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc)] |
| 1255 | + inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz)] |
1253 | 1256 | my_predbat.inverters = inverters |
1254 | 1257 |
|
1255 | 1258 | failed |= run_execute_test(my_predbat, "calibration", in_calibration=True, assert_status="Calibration", assert_charge_time_enable=False, assert_reserve=0, assert_soc_target=100) |
@@ -1758,7 +1761,7 @@ def run_execute_tests(my_predbat): |
1758 | 1761 | failed |= run_execute_test(my_predbat, "charge_later2", charge_window_best=charge_window_best6, charge_limit_best=charge_limit_best, assert_charge_time_enable=False, set_charge_window=True, set_export_window=True, assert_status="Demand") |
1759 | 1762 | failed |= run_execute_test(my_predbat, "no_charge5", set_charge_window=True, set_export_window=True, assert_immediate_soc_target=0) |
1760 | 1763 | # Reset inverters |
1761 | | - inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc)] |
| 1764 | + inverters = [ActiveTestInverter(0, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz), ActiveTestInverter(1, 0, 10.0, my_predbat.now_utc, my_predbat.local_tz)] |
1762 | 1765 | my_predbat.inverters = inverters |
1763 | 1766 |
|
1764 | 1767 | failed |= run_execute_test(my_predbat, "no_discharge", export_window_best=export_window_best, export_limits_best=export_limits_best, assert_reserve=-1) |
|
0 commit comments