@@ -114,7 +114,7 @@ func (s *InternalSuite) Test_MeasurementPhaseSpecificDataForFilter() {
114114 ucapi .PhaseNameMapping ,
115115 )
116116 assert .Nil (s .T (), err )
117- assert .Equal (s .T (), [ ]float64 {0 , 0 , 0 }, data )
117+ assert .Equal (s .T (), map [model. ElectricalConnectionPhaseNameType ]float64 {}, data )
118118
119119 elParamData := & model.ElectricalConnectionParameterDescriptionListDataType {
120120 ElectricalConnectionParameterDescriptionData : []model.ElectricalConnectionParameterDescriptionDataType {
@@ -160,7 +160,7 @@ func (s *InternalSuite) Test_MeasurementPhaseSpecificDataForFilter() {
160160 ucapi .PhaseNameMapping ,
161161 )
162162 assert .Nil (s .T (), err )
163- assert .Equal (s .T (), [ ]float64 {10 , 10 , 10 }, data )
163+ assert .Equal (s .T (), map [model. ElectricalConnectionPhaseNameType ]float64 {"a" : 10 , "b" : 10 , "c" : 10 }, data )
164164
165165 measData = & model.MeasurementListDataType {
166166 MeasurementData : []model.MeasurementDataType {
@@ -272,6 +272,95 @@ func (s *InternalSuite) Test_MeasurementSinglePhaseSpecificDataForFilter() {
272272 ucapi .PhaseNameMapping ,
273273 )
274274 assert .Nil (s .T (), err )
275- assert .Equal (s .T (), []float64 {0 , 10 , 0 }, data )
275+ assert .Equal (s .T (), map [model.ElectricalConnectionPhaseNameType ]float64 {"b" : 10 }, data )
276+
277+ data , err = MeasurementPhaseSpecificDataForFilter (
278+ s .localEntity ,
279+ s .monitoredEntity ,
280+ filter ,
281+ energyDirection ,
282+ nil ,
283+ )
284+ assert .Nil (s .T (), err )
285+ assert .Equal (s .T (), map [model.ElectricalConnectionPhaseNameType ]float64 {"b" : 10 }, data )
286+
287+ }
288+
289+ func (s * InternalSuite ) Test_MeasurementTotalPhaseSpecificDataForFilter () {
290+ measurementType := model .MeasurementTypeTypePower
291+ commodityType := model .CommodityTypeTypeElectricity
292+ scopeType := model .ScopeTypeTypeACPowerTotal
293+ energyDirection := model .EnergyDirectionTypeConsume
294+
295+ filter := model.MeasurementDescriptionDataType {
296+ MeasurementType : & measurementType ,
297+ CommodityType : & commodityType ,
298+ ScopeType : & scopeType ,
299+ }
300+
301+ // set up ElectricalConnection
302+ elDescData := & model.ElectricalConnectionDescriptionListDataType {
303+ ElectricalConnectionDescriptionData : []model.ElectricalConnectionDescriptionDataType {
304+ {
305+ ElectricalConnectionId : util .Ptr (model .ElectricalConnectionIdType (0 )),
306+ PositiveEnergyDirection : util .Ptr (model .EnergyDirectionTypeConsume ),
307+ },
308+ },
309+ }
310+
311+ elParamData := & model.ElectricalConnectionParameterDescriptionListDataType {
312+ ElectricalConnectionParameterDescriptionData : []model.ElectricalConnectionParameterDescriptionDataType {
313+ {
314+ ElectricalConnectionId : util .Ptr (model .ElectricalConnectionIdType (0 )),
315+ MeasurementId : util .Ptr (model .MeasurementIdType (0 )),
316+ AcMeasuredPhases : util .Ptr (model .ElectricalConnectionPhaseNameTypeAbc ),
317+ },
318+ },
319+ }
320+
321+ rElFeature := s .remoteDevice .FeatureByEntityTypeAndRole (s .monitoredEntity , model .FeatureTypeTypeElectricalConnection , model .RoleTypeServer )
322+
323+ _ , fErr := rElFeature .UpdateData (true , model .FunctionTypeElectricalConnectionDescriptionListData , elDescData , nil , nil )
324+ assert .Nil (s .T (), fErr )
325+
326+ _ , fErr = rElFeature .UpdateData (true , model .FunctionTypeElectricalConnectionParameterDescriptionListData , elParamData , nil , nil )
327+ assert .Nil (s .T (), fErr )
328+
329+ descData := & model.MeasurementDescriptionListDataType {
330+ MeasurementDescriptionData : []model.MeasurementDescriptionDataType {
331+ {
332+ MeasurementId : util .Ptr (model .MeasurementIdType (0 )),
333+ MeasurementType : & measurementType ,
334+ CommodityType : & commodityType ,
335+ ScopeType : & scopeType ,
336+ },
337+ },
338+ }
339+
340+ rFeature := s .remoteDevice .FeatureByEntityTypeAndRole (s .monitoredEntity , model .FeatureTypeTypeMeasurement , model .RoleTypeServer )
341+ _ , fErr = rFeature .UpdateData (true , model .FunctionTypeMeasurementDescriptionListData , descData , nil , nil )
342+ assert .Nil (s .T (), fErr )
343+
344+ measData := & model.MeasurementListDataType {
345+ MeasurementData : []model.MeasurementDataType {
346+ {
347+ MeasurementId : util .Ptr (model .MeasurementIdType (0 )),
348+ Value : model .NewScaledNumberType (10 ),
349+ },
350+ },
351+ }
352+
353+ _ , fErr = rFeature .UpdateData (true , model .FunctionTypeMeasurementListData , measData , nil , nil )
354+ assert .Nil (s .T (), fErr )
355+
356+ data , err := MeasurementPhaseSpecificDataForFilter (
357+ s .localEntity ,
358+ s .monitoredEntity ,
359+ filter ,
360+ energyDirection ,
361+ nil ,
362+ )
363+ assert .Nil (s .T (), err )
364+ assert .Equal (s .T (), map [model.ElectricalConnectionPhaseNameType ]float64 {"abc" : 10 }, data )
276365
277366}
0 commit comments