22 lines
780 B
Python
22 lines
780 B
Python
|
import unittest
|
||
|
|
||
|
from dsmr_parser import obis_references as obis
|
||
|
from dsmr_parser import telegram_specifications
|
||
|
from dsmr_parser.objects import CosemObject
|
||
|
from dsmr_parser.parsers import TelegramParser
|
||
|
from test.example_telegrams import TELEGRAM_V5
|
||
|
|
||
|
|
||
|
class TelegramParserV5Test(unittest.TestCase):
|
||
|
""" Test parsing of a DSMR v5.x telegram. """
|
||
|
|
||
|
def test_parse(self):
|
||
|
parser = TelegramParser(telegram_specifications.V5)
|
||
|
result = parser.parse(TELEGRAM_V5)
|
||
|
|
||
|
# P1_MESSAGE_HEADER (1-3:0.2.8)
|
||
|
assert isinstance(result[obis.P1_MESSAGE_HEADER], CosemObject)
|
||
|
assert result[obis.P1_MESSAGE_HEADER].unit is None
|
||
|
assert isinstance(result[obis.P1_MESSAGE_HEADER].value, str)
|
||
|
assert result[obis.P1_MESSAGE_HEADER].value == '50'
|