12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- from itertools import groupby
- import unittest
- import sys
- sys.path.append("..")
- from src.variables import variables
- class TestCompat(unittest.TestCase):
- def test_includes_names(self):
- names = [
- "equipment_id",
- "run_days",
- "solar_panel_is_charging",
- "solar_panel_is_night",
- "solar_panel_charge_state",
- "load_is_enabled",
- "load_state",
- "battery_empty_times",
- "battery_full_times",
- "battery_percentage",
- "battery_voltage",
- "battery_current",
- "battery_power",
- "load_voltage",
- "load_current",
- "load_power",
- "solar_panel_voltage",
- "solar_panel_current",
- "solar_panel_power",
- "solar_panel_daily_energy",
- "solar_panel_total_energy",
- "load_daily_energy",
- "load_total_energy",
- ]
- for name in names:
- self.assertIn(name, [v.name for v in variables], f"variable {name} doesn't exist anymore")
- def test_excludes_names(self):
- bad_names = [
- "battery_full_level",
- "battery_state_1",
- "battery_state_2",
- "solar_panel_state",
- "temperature_1",
- "temperature_2",
- ]
- for name in bad_names:
- self.assertNotIn(name, [v.name for v in variables], f"variable {name} still exists")
- def test_units(self):
- unit_mapping = {
- "battery_percentage": "%",
- "battery_voltage": "V",
- "battery_current": "A",
- "battery_power": "W",
- "load_voltage": "V",
- "load_current": "A",
- "load_power": "W",
- "solar_panel_voltage": "V",
- "solar_panel_current": "A",
- "solar_panel_power": "W",
- "solar_panel_daily_energy": "kWh",
- "solar_panel_total_energy": "kWh",
- "load_daily_energy": "kWh",
- "load_total_energy": "kWh",
- }
- for name, unit in unit_mapping.items():
- items = [v for v in variables if name == v.name]
- self.assertTrue(items, f"variable {name} doesn't exist anymore")
- self.assertEqual(items[0].unit, unit)
|