@@ -26,6 +26,9 @@ func (s *UCOPEVSuite) Test_Events() {
26
26
27
27
payload .EventType = spineapi .EventTypeDataChange
28
28
payload .ChangeType = spineapi .ElementChangeUpdate
29
+ payload .Data = eebusutil .Ptr (model.ElectricalConnectionPermittedValueSetListDataType {})
30
+ s .sut .HandleEvent (payload )
31
+
29
32
payload .Data = eebusutil .Ptr (model.LoadControlLimitDescriptionListDataType {})
30
33
s .sut .HandleEvent (payload )
31
34
@@ -39,6 +42,82 @@ func (s *UCOPEVSuite) Test_Failures() {
39
42
s .sut .evLoadControlLimitDescriptionDataUpdate (s .mockRemoteEntity )
40
43
}
41
44
45
+ func (s * UCOPEVSuite ) Test_evElectricalPermittedValuesUpdate () {
46
+ payload := spineapi.EventPayload {
47
+ Ski : remoteSki ,
48
+ Device : s .remoteDevice ,
49
+ Entity : s .mockRemoteEntity ,
50
+ }
51
+ s .sut .evElectricalPermittedValuesUpdate (payload )
52
+
53
+ payload .Entity = s .evEntity
54
+ s .sut .evElectricalPermittedValuesUpdate (payload )
55
+
56
+ paramData := & model.ElectricalConnectionParameterDescriptionListDataType {
57
+ ElectricalConnectionParameterDescriptionData : []model.ElectricalConnectionParameterDescriptionDataType {
58
+ {
59
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
60
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (0 )),
61
+ MeasurementId : eebusutil .Ptr (model .MeasurementIdType (0 )),
62
+ AcMeasuredPhases : eebusutil .Ptr (model .ElectricalConnectionPhaseNameTypeA ),
63
+ },
64
+ {
65
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
66
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (1 )),
67
+ MeasurementId : eebusutil .Ptr (model .MeasurementIdType (1 )),
68
+ AcMeasuredPhases : eebusutil .Ptr (model .ElectricalConnectionPhaseNameTypeB ),
69
+ },
70
+ {
71
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
72
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (2 )),
73
+ MeasurementId : eebusutil .Ptr (model .MeasurementIdType (2 )),
74
+ AcMeasuredPhases : eebusutil .Ptr (model .ElectricalConnectionPhaseNameTypeC ),
75
+ },
76
+ },
77
+ }
78
+
79
+ rFeature := s .remoteDevice .FeatureByEntityTypeAndRole (s .evEntity , model .FeatureTypeTypeElectricalConnection , model .RoleTypeServer )
80
+ fErr := rFeature .UpdateData (model .FunctionTypeElectricalConnectionParameterDescriptionListData , paramData , nil , nil )
81
+ assert .Nil (s .T (), fErr )
82
+
83
+ s .sut .evElectricalPermittedValuesUpdate (payload )
84
+
85
+ data := & model.ElectricalConnectionPermittedValueSetListDataType {
86
+ ElectricalConnectionPermittedValueSetData : []model.ElectricalConnectionPermittedValueSetDataType {
87
+ {
88
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
89
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (0 )),
90
+ PermittedValueSet : []model.ScaledNumberSetType {
91
+ {
92
+ Value : []model.ScaledNumberType {
93
+ * model .NewScaledNumberType (0.1 ),
94
+ },
95
+ Range : []model.ScaledNumberRangeType {
96
+ {
97
+ Min : model .NewScaledNumberType (1400 ),
98
+ Max : model .NewScaledNumberType (11000 ),
99
+ },
100
+ },
101
+ },
102
+ },
103
+ },
104
+ {
105
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
106
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (1 )),
107
+ },
108
+ {
109
+ ElectricalConnectionId : eebusutil .Ptr (model .ElectricalConnectionIdType (0 )),
110
+ ParameterId : eebusutil .Ptr (model .ElectricalConnectionParameterIdType (2 )),
111
+ },
112
+ },
113
+ }
114
+
115
+ fErr = rFeature .UpdateData (model .FunctionTypeElectricalConnectionPermittedValueSetListData , data , nil , nil )
116
+ assert .Nil (s .T (), fErr )
117
+
118
+ s .sut .evElectricalPermittedValuesUpdate (payload )
119
+ }
120
+
42
121
func (s * UCOPEVSuite ) Test_evLoadControlLimitDataUpdate () {
43
122
payload := spineapi.EventPayload {
44
123
Ski : remoteSki ,
0 commit comments