github.com/enbility/spine-go@v0.7.0/model/hvac_additions_test.go (about) 1 package model 2 3 import ( 4 "testing" 5 6 "github.com/enbility/spine-go/util" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestHvacSystemFunctionListDataType_Update(t *testing.T) { 11 sut := HvacSystemFunctionListDataType{ 12 HvacSystemFunctionData: []HvacSystemFunctionDataType{ 13 { 14 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(0)), 15 IsOverrunActive: util.Ptr(false), 16 }, 17 { 18 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 19 IsOverrunActive: util.Ptr(false), 20 }, 21 }, 22 } 23 24 newData := HvacSystemFunctionListDataType{ 25 HvacSystemFunctionData: []HvacSystemFunctionDataType{ 26 { 27 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 28 IsOverrunActive: util.Ptr(true), 29 }, 30 }, 31 } 32 33 // Act 34 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 35 assert.True(t, success) 36 37 data := sut.HvacSystemFunctionData 38 // check the non changing items 39 assert.Equal(t, 2, len(data)) 40 item1 := data[0] 41 assert.Equal(t, 0, int(*item1.SystemFunctionId)) 42 assert.Equal(t, false, *item1.IsOverrunActive) 43 // check properties of updated item 44 item2 := data[1] 45 assert.Equal(t, 1, int(*item2.SystemFunctionId)) 46 assert.Equal(t, true, *item2.IsOverrunActive) 47 } 48 49 func TestHvacSystemFunctionOperationModeRelationListDataType_Update(t *testing.T) { 50 sut := HvacSystemFunctionOperationModeRelationListDataType{ 51 HvacSystemFunctionOperationModeRelationData: []HvacSystemFunctionOperationModeRelationDataType{ 52 { 53 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(0)), 54 OperationModeId: util.Ptr(HvacOperationModeIdType(0)), 55 }, 56 { 57 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 58 OperationModeId: util.Ptr(HvacOperationModeIdType(0)), 59 }, 60 }, 61 } 62 63 newData := HvacSystemFunctionOperationModeRelationListDataType{ 64 HvacSystemFunctionOperationModeRelationData: []HvacSystemFunctionOperationModeRelationDataType{ 65 { 66 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 67 OperationModeId: util.Ptr(HvacOperationModeIdType(1)), 68 }, 69 }, 70 } 71 72 // Act 73 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 74 assert.True(t, success) 75 76 data := sut.HvacSystemFunctionOperationModeRelationData 77 // check the non changing items 78 assert.Equal(t, 2, len(data)) 79 item1 := data[0] 80 assert.Equal(t, 0, int(*item1.SystemFunctionId)) 81 assert.Equal(t, 0, int(*item1.OperationModeId)) 82 // check properties of updated item 83 item2 := data[1] 84 assert.Equal(t, 1, int(*item2.SystemFunctionId)) 85 assert.Equal(t, 1, int(*item2.OperationModeId)) 86 } 87 88 func TestHvacSystemFunctionSetpointRelationListDataType_Update(t *testing.T) { 89 sut := HvacSystemFunctionSetpointRelationListDataType{ 90 HvacSystemFunctionSetpointRelationData: []HvacSystemFunctionSetpointRelationDataType{ 91 { 92 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(0)), 93 OperationModeId: util.Ptr(HvacOperationModeIdType(0)), 94 }, 95 { 96 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 97 OperationModeId: util.Ptr(HvacOperationModeIdType(0)), 98 }, 99 }, 100 } 101 102 newData := HvacSystemFunctionSetpointRelationListDataType{ 103 HvacSystemFunctionSetpointRelationData: []HvacSystemFunctionSetpointRelationDataType{ 104 { 105 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 106 OperationModeId: util.Ptr(HvacOperationModeIdType(1)), 107 }, 108 }, 109 } 110 111 // Act 112 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 113 assert.True(t, success) 114 115 data := sut.HvacSystemFunctionSetpointRelationData 116 // check the non changing items 117 assert.Equal(t, 2, len(data)) 118 item1 := data[0] 119 assert.Equal(t, 0, int(*item1.SystemFunctionId)) 120 assert.Equal(t, 0, int(*item1.OperationModeId)) 121 // check properties of updated item 122 item2 := data[1] 123 assert.Equal(t, 1, int(*item2.SystemFunctionId)) 124 assert.Equal(t, 1, int(*item2.OperationModeId)) 125 } 126 127 func TestHvacSystemFunctionPowerSequenceRelationListDataType_Update(t *testing.T) { 128 sut := HvacSystemFunctionPowerSequenceRelationListDataType{ 129 HvacSystemFunctionPowerSequenceRelationData: []HvacSystemFunctionPowerSequenceRelationDataType{ 130 { 131 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(0)), 132 SequenceId: []PowerSequenceIdType{0}, 133 }, 134 { 135 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 136 SequenceId: []PowerSequenceIdType{0}, 137 }, 138 }, 139 } 140 141 newData := HvacSystemFunctionPowerSequenceRelationListDataType{ 142 HvacSystemFunctionPowerSequenceRelationData: []HvacSystemFunctionPowerSequenceRelationDataType{ 143 { 144 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 145 SequenceId: []PowerSequenceIdType{1}, 146 }, 147 }, 148 } 149 150 // Act 151 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 152 assert.True(t, success) 153 154 data := sut.HvacSystemFunctionPowerSequenceRelationData 155 // check the non changing items 156 assert.Equal(t, 2, len(data)) 157 item1 := data[0] 158 assert.Equal(t, 0, int(*item1.SystemFunctionId)) 159 assert.Equal(t, 0, int(item1.SequenceId[0])) 160 // check properties of updated item 161 item2 := data[1] 162 assert.Equal(t, 1, int(*item2.SystemFunctionId)) 163 assert.Equal(t, 1, int(item2.SequenceId[0])) 164 } 165 166 func TestHvacSystemFunctionDescriptionListDataType_Update(t *testing.T) { 167 sut := HvacSystemFunctionDescriptionListDataType{ 168 HvacSystemFunctionDescriptionData: []HvacSystemFunctionDescriptionDataType{ 169 { 170 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(0)), 171 Description: util.Ptr(DescriptionType("old")), 172 }, 173 { 174 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 175 Description: util.Ptr(DescriptionType("old")), 176 }, 177 }, 178 } 179 180 newData := HvacSystemFunctionDescriptionListDataType{ 181 HvacSystemFunctionDescriptionData: []HvacSystemFunctionDescriptionDataType{ 182 { 183 SystemFunctionId: util.Ptr(HvacSystemFunctionIdType(1)), 184 Description: util.Ptr(DescriptionType("new")), 185 }, 186 }, 187 } 188 189 // Act 190 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 191 assert.True(t, success) 192 193 data := sut.HvacSystemFunctionDescriptionData 194 // check the non changing items 195 assert.Equal(t, 2, len(data)) 196 item1 := data[0] 197 assert.Equal(t, 0, int(*item1.SystemFunctionId)) 198 assert.Equal(t, "old", string(*item1.Description)) 199 // check properties of updated item 200 item2 := data[1] 201 assert.Equal(t, 1, int(*item2.SystemFunctionId)) 202 assert.Equal(t, "new", string(*item2.Description)) 203 } 204 205 func TestHvacOperationModeDescriptionListDataType_Update(t *testing.T) { 206 sut := HvacOperationModeDescriptionListDataType{ 207 HvacOperationModeDescriptionData: []HvacOperationModeDescriptionDataType{ 208 { 209 OperationModeId: util.Ptr(HvacOperationModeIdType(0)), 210 Description: util.Ptr(DescriptionType("old")), 211 }, 212 { 213 OperationModeId: util.Ptr(HvacOperationModeIdType(1)), 214 Description: util.Ptr(DescriptionType("old")), 215 }, 216 }, 217 } 218 219 newData := HvacOperationModeDescriptionListDataType{ 220 HvacOperationModeDescriptionData: []HvacOperationModeDescriptionDataType{ 221 { 222 OperationModeId: util.Ptr(HvacOperationModeIdType(1)), 223 Description: util.Ptr(DescriptionType("new")), 224 }, 225 }, 226 } 227 228 // Act 229 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 230 assert.True(t, success) 231 232 data := sut.HvacOperationModeDescriptionData 233 // check the non changing items 234 assert.Equal(t, 2, len(data)) 235 item1 := data[0] 236 assert.Equal(t, 0, int(*item1.OperationModeId)) 237 assert.Equal(t, "old", string(*item1.Description)) 238 // check properties of updated item 239 item2 := data[1] 240 assert.Equal(t, 1, int(*item2.OperationModeId)) 241 assert.Equal(t, "new", string(*item2.Description)) 242 } 243 244 func TestHvacOverrunListDataType_Update(t *testing.T) { 245 sut := HvacOverrunListDataType{ 246 HvacOverrunData: []HvacOverrunDataType{ 247 { 248 OverrunId: util.Ptr(HvacOverrunIdType(0)), 249 IsOverrunStatusChangeable: util.Ptr(false), 250 }, 251 { 252 OverrunId: util.Ptr(HvacOverrunIdType(1)), 253 IsOverrunStatusChangeable: util.Ptr(false), 254 }, 255 }, 256 } 257 258 newData := HvacOverrunListDataType{ 259 HvacOverrunData: []HvacOverrunDataType{ 260 { 261 OverrunId: util.Ptr(HvacOverrunIdType(1)), 262 IsOverrunStatusChangeable: util.Ptr(true), 263 }, 264 }, 265 } 266 267 // Act 268 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 269 assert.True(t, success) 270 271 data := sut.HvacOverrunData 272 // check the non changing items 273 assert.Equal(t, 2, len(data)) 274 item1 := data[0] 275 assert.Equal(t, 0, int(*item1.OverrunId)) 276 assert.Equal(t, false, *item1.IsOverrunStatusChangeable) 277 // check properties of updated item 278 item2 := data[1] 279 assert.Equal(t, 1, int(*item2.OverrunId)) 280 assert.Equal(t, true, *item2.IsOverrunStatusChangeable) 281 } 282 283 func TestHvacOverrunDescriptionListDataType_Update(t *testing.T) { 284 sut := HvacOverrunDescriptionListDataType{ 285 HvacOverrunDescriptionData: []HvacOverrunDescriptionDataType{ 286 { 287 OverrunId: util.Ptr(HvacOverrunIdType(0)), 288 Description: util.Ptr(DescriptionType("old")), 289 }, 290 { 291 OverrunId: util.Ptr(HvacOverrunIdType(1)), 292 Description: util.Ptr(DescriptionType("old")), 293 }, 294 }, 295 } 296 297 newData := HvacOverrunDescriptionListDataType{ 298 HvacOverrunDescriptionData: []HvacOverrunDescriptionDataType{ 299 { 300 OverrunId: util.Ptr(HvacOverrunIdType(1)), 301 Description: util.Ptr(DescriptionType("new")), 302 }, 303 }, 304 } 305 306 // Act 307 _, success := sut.UpdateList(false, true, &newData, NewFilterTypePartial(), nil) 308 assert.True(t, success) 309 310 data := sut.HvacOverrunDescriptionData 311 // check the non changing items 312 assert.Equal(t, 2, len(data)) 313 item1 := data[0] 314 assert.Equal(t, 0, int(*item1.OverrunId)) 315 assert.Equal(t, "old", string(*item1.Description)) 316 // check properties of updated item 317 item2 := data[1] 318 assert.Equal(t, 1, int(*item2.OverrunId)) 319 assert.Equal(t, "new", string(*item2.Description)) 320 }