66from src .types .item_type import ItemTypes , MetricDataItem
77from src .types .metric_data import MetricDataTypes
88
9- MSG_1_EXAMPLE = '''t|3900237526042,d|device_name_001,m|val_water_001=i:1234,m|val_water_002=i:15,m|bulb_state=b:1,''' \
10- '''m|connector_state=b:0,m|temp_01=d:34.4,m|temp_02=d:36.4,m|temp_03=d:10.4,m|pwr=d:12.231,''' \
11- '''m|current=d:1.429,m|current_battery=d:1.548'''
12-
13- MSG_1_EXAMPLE_AS_DATA_STRUCTS = \
14- [Item (kind = ItemTypes .TIMESTAMP_MILIS , name = '3900237526042' , metric = None ),
15- Item (kind = ItemTypes .DEVICE_ID , name = 'device_name_001' , metric = None ),
16- Item (kind = ItemTypes .METRIC_ITEM , name = 'val_water_001' , metric = MetricDataItem (
17- data_type = MetricDataTypes .INTEGER , value = 1234 )),
18- Item (kind = ItemTypes .METRIC_ITEM , name = 'val_water_002' , metric = MetricDataItem (
19- data_type = MetricDataTypes .INTEGER , value = 15 )),
20- Item (kind = ItemTypes .METRIC_ITEM , name = 'bulb_state' , metric = MetricDataItem (
21- data_type = MetricDataTypes .BOOL , value = True )),
22- Item (kind = ItemTypes .METRIC_ITEM , name = 'connector_state' , metric = MetricDataItem (
23- data_type = MetricDataTypes .BOOL , value = False )),
24- Item (kind = ItemTypes .METRIC_ITEM , name = 'temp_01' , metric = MetricDataItem (
25- data_type = MetricDataTypes .DECIMAL , value = Decimal ('34.4' ))),
26- Item (kind = ItemTypes .METRIC_ITEM , name = 'temp_02' , metric = MetricDataItem (
27- data_type = MetricDataTypes .DECIMAL , value = Decimal ('36.4' ))),
28- Item (kind = ItemTypes .METRIC_ITEM , name = 'temp_03' , metric = MetricDataItem (
29- data_type = MetricDataTypes .DECIMAL , value = Decimal ('10.4' ))),
30- Item (kind = ItemTypes .METRIC_ITEM , name = 'pwr' , metric = MetricDataItem (
31- data_type = MetricDataTypes .DECIMAL , value = Decimal ('12.231' ))),
32- Item (kind = ItemTypes .METRIC_ITEM , name = 'current' , metric = MetricDataItem (
33- data_type = MetricDataTypes .DECIMAL , value = Decimal ('1.429' ))),
34- Item (kind = ItemTypes .METRIC_ITEM , name = 'current_battery' , metric = MetricDataItem (
35- data_type = MetricDataTypes .DECIMAL , value = Decimal ('1.548' )))]
9+ MSG_1_EXAMPLE = (
10+ """t|3900237526042,d|device_name_001,m|val_water_001=i:1234,m|val_water_002=i:15,m|bulb_state=b:1,"""
11+ """m|connector_state=b:0,m|temp_01=d:34.4,m|temp_02=d:36.4,m|temp_03=d:10.4,m|pwr=d:12.231,"""
12+ """m|current=d:1.429,m|current_battery=d:1.548"""
13+ )
3614
37- class IoTextCodecTest (TestCase ):
15+ MSG_1_EXAMPLE_AS_DATA_STRUCTS = [
16+ Item (kind = ItemTypes .TIMESTAMP_MILIS , name = "3900237526042" , metric = None ),
17+ Item (kind = ItemTypes .DEVICE_ID , name = "device_name_001" , metric = None ),
18+ Item (
19+ kind = ItemTypes .METRIC_ITEM ,
20+ name = "val_water_001" ,
21+ metric = MetricDataItem (data_type = MetricDataTypes .INTEGER , value = 1234 ),
22+ ),
23+ Item (
24+ kind = ItemTypes .METRIC_ITEM ,
25+ name = "val_water_002" ,
26+ metric = MetricDataItem (data_type = MetricDataTypes .INTEGER , value = 15 ),
27+ ),
28+ Item (
29+ kind = ItemTypes .METRIC_ITEM ,
30+ name = "bulb_state" ,
31+ metric = MetricDataItem (data_type = MetricDataTypes .BOOL , value = True ),
32+ ),
33+ Item (
34+ kind = ItemTypes .METRIC_ITEM ,
35+ name = "connector_state" ,
36+ metric = MetricDataItem (data_type = MetricDataTypes .BOOL , value = False ),
37+ ),
38+ Item (
39+ kind = ItemTypes .METRIC_ITEM ,
40+ name = "temp_01" ,
41+ metric = MetricDataItem (data_type = MetricDataTypes .DECIMAL , value = Decimal ("34.4" )),
42+ ),
43+ Item (
44+ kind = ItemTypes .METRIC_ITEM ,
45+ name = "temp_02" ,
46+ metric = MetricDataItem (data_type = MetricDataTypes .DECIMAL , value = Decimal ("36.4" )),
47+ ),
48+ Item (
49+ kind = ItemTypes .METRIC_ITEM ,
50+ name = "temp_03" ,
51+ metric = MetricDataItem (data_type = MetricDataTypes .DECIMAL , value = Decimal ("10.4" )),
52+ ),
53+ Item (
54+ kind = ItemTypes .METRIC_ITEM ,
55+ name = "pwr" ,
56+ metric = MetricDataItem (
57+ data_type = MetricDataTypes .DECIMAL , value = Decimal ("12.231" )
58+ ),
59+ ),
60+ Item (
61+ kind = ItemTypes .METRIC_ITEM ,
62+ name = "current" ,
63+ metric = MetricDataItem (
64+ data_type = MetricDataTypes .DECIMAL , value = Decimal ("1.429" )
65+ ),
66+ ),
67+ Item (
68+ kind = ItemTypes .METRIC_ITEM ,
69+ name = "current_battery" ,
70+ metric = MetricDataItem (
71+ data_type = MetricDataTypes .DECIMAL , value = Decimal ("1.548" )
72+ ),
73+ ),
74+ ]
3875
3976
77+ class IoTextCodecTest (TestCase ):
4078 def test_decode (self ):
4179 expected = MSG_1_EXAMPLE_AS_DATA_STRUCTS
4280
@@ -51,4 +89,3 @@ def test_encode(self):
5189 result = IoTextCodec .encode (iotext_msg )
5290
5391 self .assertEqual (expected , result )
54-
0 commit comments