20 lines
654 B
Python
20 lines
654 B
Python
"""Detector tests (SPECIFICATION §6). Detector implementations land in Phase 1."""
|
|
|
|
from datetime import datetime, timezone
|
|
|
|
from opcda_diagnozer.monitor.detectors import PollOutcome
|
|
from opcda_diagnozer.opc.base import ReadResult
|
|
|
|
|
|
def test_poll_outcome_holds_one_cycle() -> None:
|
|
result = ReadResult(
|
|
tag="Channel1.Device1.Level", value=1.5, quality_raw=0xC0, device_time=None
|
|
)
|
|
outcome = PollOutcome(
|
|
started_at=datetime.now(timezone.utc),
|
|
rtt_ms=12.5,
|
|
results=(result,),
|
|
)
|
|
assert outcome.rtt_ms == 12.5
|
|
assert outcome.error is None
|
|
assert outcome.results[0].tag == "Channel1.Device1.Level" |