@@ -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
9931034describe ( 'Tests with two readers and two writers' , ( ) => {
0 commit comments