Skip to content

Commit 5383893

Browse files
Add test for from_receiver method
Signed-off-by: Matthias Wende <[email protected]>
1 parent 0a65574 commit 5383893

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tests/timeseries/test_formula_engine.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,3 +776,27 @@ async def test_types(self) -> None:
776776
result = await results_rx.receive()
777777
assert result is not None and result.value is not None
778778
assert result.value.as_watts() == 160.0
779+
780+
781+
class TestFromReceiver:
782+
"""Test creating a formula engine from a receiver."""
783+
784+
async def test_from_receiver(self) -> None:
785+
"""Test creating a formula engine from a receiver."""
786+
channel = Broadcast[Sample[Power]]("channel_1")
787+
sender = channel.new_sender()
788+
789+
builder = FormulaBuilder("test_from_receiver", create_method=Power.from_watts)
790+
builder.push_metric("channel_1", channel.new_receiver(), False)
791+
engine = builder.build()
792+
793+
engine_from_receiver = FormulaEngine.from_receiver(
794+
"test_from_receiver", engine.new_receiver(), create_method=Power.from_watts
795+
)
796+
797+
results_rx = engine_from_receiver.new_receiver()
798+
799+
await sender.send(Sample(datetime.now(), Power.from_watts(10.0)))
800+
result = await results_rx.receive()
801+
assert result is not None and result.value is not None
802+
assert result.value.as_watts() == 10.0

0 commit comments

Comments
 (0)