Skip to content

Commit c6ac4fd

Browse files
GREEN-2058: Added tests for new functionality in DD parser (#41)
Co-authored-by: Sam Raeburn <sam@rti.com>
1 parent f2c9d64 commit c6ac4fd

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

test/nodejs/test_rticonnextdds_data_access.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -988,6 +988,47 @@ describe('Tests with a testOutput and testInput', () => {
988988
expect(testInput.samples.get(0).get('my_int_sequence')).to.deep.equals(intSeq)
989989
expect(testInput.samples.get(0).get('my_point_sequence')).to.deep.equals(pointSeq)
990990
})
991+
992+
it('Can clear an element of a complex sequence', async () => {
993+
let pointSeq = [{ x: 100, y: 200 }, { x: 300, y: 400 }, { x: 500, y: 600 }]
994+
testOutput.instance.set('my_point_sequence', pointSeq)
995+
testOutput.write()
996+
try {
997+
await testInput.wait(testExpectSuccessTimeout)
998+
} catch(err) {
999+
console.log('Error caught: ' + err)
1000+
expect(false).to.deep.equals(true)
1001+
}
1002+
testInput.take()
1003+
expect(testInput.samples.get(0).get('my_point_sequence')).to.deep.equals(pointSeq)
1004+
// Now we clear an element in the middle of the sequence
1005+
pointSeq = [{ x: 100, y: 200 }, null, { x: 500, y: 600 }]
1006+
testOutput.instance.set('my_point_sequence', pointSeq)
1007+
testOutput.write()
1008+
try {
1009+
await testInput.wait(testExpectSuccessTimeout)
1010+
} catch(err) {
1011+
console.log('Error caught: ' + err)
1012+
expect(false).to.deep.equals(true)
1013+
}
1014+
testInput.take()
1015+
expect(testInput.samples.get(0).get('my_point_sequence[0]')).to.deep.equals({ x: 100, y: 200 })
1016+
expect(testInput.samples.get(0).get('my_point_sequence[1]')).to.deep.equals({ x: 0, y: 0 })
1017+
expect(testInput.samples.get(0).get('my_point_sequence[2]')).to.deep.equals({ x: 500, y: 600 })
1018+
})
1019+
1020+
it('Can set enum via name', async () => {
1021+
testOutput.instance.setFromJson({ 'my_enum': 'GREEN' })
1022+
testOutput.write()
1023+
try {
1024+
await testInput.wait(testExpectSuccessTimeout)
1025+
} catch(err) {
1026+
console.log('Error caught: ' + err)
1027+
expect(false).to.deep.equals(true)
1028+
}
1029+
testInput.take()
1030+
expect(testInput.samples.get(0).get('my_enum')).to.deep.equals(1)
1031+
})
9911032
})
9921033

9931034
describe('Tests with two readers and two writers', () => {

0 commit comments

Comments
 (0)