Skip to content

Commit 6665a7c

Browse files
committed
feat(bacnet-services.spec): implement test coverage for cov-subscription and read-access-specification value types
1 parent b015f62 commit 6665a7c

2 files changed

Lines changed: 86 additions & 2 deletions

File tree

test/integration/read-property-multiple.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ describe('bacstack - readPropertyMultiple integration', function() {
3737
{value: 'PscDet(*)', type: 7}
3838
]);
3939
expect(object[211]).to.deep.equal([
40-
{value: {value: {type: 5, instance: 0}, type: 12}, type: undefined},
41-
{value: {value: {type: 3, instance: 0}, type: 12}, type: undefined}
40+
{value: {value: {type: 5, instance: 0}, type: 12}, type: 118},
41+
{value: {value: {type: 3, instance: 0}, type: 12}, type: 118}
4242
]);
4343
expect(object[4930]).to.deep.equal([{value: 0, type: 9}]);
4444
expect(object[4941]).to.deep.equal([{value: 6, type: 9}]);

test/unit/bacnet-services.spec.js

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,90 @@ describe('bacstack - Services layer', function() {
357357
]
358358
});
359359
});
360+
361+
it('should successfully encode and decode a cov-subscription value', function() {
362+
var buffer = utils.getBuffer();
363+
baServices.EncodeReadPropertyAcknowledge(buffer, {type: 222, instance: 3}, 152, 0xFFFFFFFF, [
364+
{Tag: 111, Value: {
365+
Recipient: {net: 12, adr: [0, 1]},
366+
subscriptionProcessIdentifier: 3,
367+
monitoredObjectIdentifier: {type: 2, instance: 1},
368+
monitoredProperty: {propertyIdentifier: 85, propertyArrayIndex: 0},
369+
IssueConfirmedNotifications: false,
370+
TimeRemaining: 5,
371+
COVIncrement: 1
372+
}},
373+
{Tag: 111, Value: {
374+
Recipient: {net: 0xFFFF, adr: []},
375+
subscriptionProcessIdentifier: 3,
376+
monitoredObjectIdentifier: {type: 2, instance: 1},
377+
monitoredProperty: {propertyIdentifier: 85, propertyArrayIndex: 5},
378+
IssueConfirmedNotifications: true,
379+
TimeRemaining: 5
380+
}}
381+
]);
382+
var result = baServices.DecodeReadPropertyAcknowledge(buffer.buffer, 0, buffer.offset);
383+
delete result.len;
384+
expect(result).to.deep.equal({
385+
objectId: {
386+
type: 222,
387+
instance: 3
388+
},
389+
property: {
390+
propertyArrayIndex: 0xFFFFFFFF,
391+
propertyIdentifier: 152
392+
},
393+
valueList: [
394+
{type: 111, value: {
395+
recipient: {net: 12, adr: [0, 1]},
396+
subscriptionProcessIdentifier: 3,
397+
monitoredObjectIdentifier: {type: 2, instance: 1},
398+
monitoredProperty: {propertyIdentifier: 85, propertyArrayIndex: 0},
399+
issueConfirmedNotifications: false,
400+
timeRemaining: 5,
401+
covIncrement: 1
402+
}, len: 33},
403+
{type: 111, value: {
404+
recipient: {net: 0xFFFF, adr: []},
405+
subscriptionProcessIdentifier: 3,
406+
monitoredObjectIdentifier: {type: 2, instance: 1},
407+
monitoredProperty: {propertyIdentifier: 85, propertyArrayIndex: 5},
408+
issueConfirmedNotifications: true,
409+
timeRemaining: 5,
410+
}, len: 27}
411+
]
412+
});
413+
});
414+
415+
it('should successfully encode and decode a read-access-specification value', function() {
416+
var buffer = utils.getBuffer();
417+
baServices.EncodeReadPropertyAcknowledge(buffer, {type: 223, instance: 90000}, 53, 0xFFFFFFFF, [
418+
{Tag: 115, Value: {objectIdentifier: {type: 3, instance: 0}, propertyReferences: []}},
419+
{Tag: 115, Value: {objectIdentifier: {type: 3, instance: 50000}, propertyReferences: [
420+
{propertyIdentifier: 85},
421+
{propertyIdentifier: 1, propertyArrayIndex: 2}
422+
]}},
423+
]);
424+
var result = baServices.DecodeReadPropertyAcknowledge(buffer.buffer, 0, buffer.offset);
425+
delete result.len;
426+
expect(result).to.deep.equal({
427+
objectId: {
428+
type: 223,
429+
instance: 90000
430+
},
431+
property: {
432+
propertyArrayIndex: 0xFFFFFFFF,
433+
propertyIdentifier: 53
434+
},
435+
valueList: [
436+
{type: 115, value: {objectIdentifier: {type: 3, instance: 0}, propertyReferences: []}, len: 7},
437+
{type: 115, value: {objectIdentifier: {type: 3, instance: 50000}, propertyReferences: [
438+
{propertyIdentifier: 85, propertyArrayIndex: 0xFFFFFFFF},
439+
{propertyIdentifier: 1, propertyArrayIndex: 2}
440+
]}, len: 13}
441+
]
442+
});
443+
});
360444
});
361445

362446
describe('ReadPropertyMultipleAcknowledge', function() {

0 commit comments

Comments
 (0)