Skip to content

Commit 337d4b8

Browse files
Add test for consumer power formula
This adds a tests with two grid meters. Signed-off-by: Matthias Wende <[email protected]>
1 parent 6d068b1 commit 337d4b8

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/timeseries/test_logical_meter.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# pylint: disable=too-many-locals
1818

1919

20-
class TestLogicalMeter:
20+
class TestLogicalMeter: # pylint: disable=too-many-public-methods
2121
"""Tests for the logical meter."""
2222

2323
async def test_grid_power_1(self, mocker: MockerFixture) -> None:
@@ -278,6 +278,22 @@ async def test_consumer_power_no_grid_meter(self, mocker: MockerFixture) -> None
278278
await mockgrid.mock_resampler.send_meter_power([20.0, 2.0, 3.0, 4.0, 5.0])
279279
assert (await consumer_power_receiver.receive()).value == Power.from_watts(20.0)
280280

281+
async def test_consumer_power_2_grid_meters(
282+
self,
283+
mocker: MockerFixture,
284+
) -> None:
285+
"""Test the grid power formula with grid meters."""
286+
mockgrid = MockMicrogrid(grid_meter=False)
287+
# with no further sucessor these will be detected as grid meters
288+
mockgrid.add_consumer_meters(2)
289+
await mockgrid.start(mocker)
290+
291+
logical_meter = microgrid.logical_meter()
292+
grid_consumption_recv = logical_meter.grid_consumption_power.new_receiver()
293+
294+
await mockgrid.mock_resampler.send_meter_power([1.0, 2.0])
295+
assert (await grid_consumption_recv.receive()).value == Power.from_watts(3.0)
296+
281297
async def test_consumer_power_no_grid_meter_no_consumer_meter(
282298
self, mocker: MockerFixture
283299
) -> None:

0 commit comments

Comments
 (0)