@@ -44,6 +44,14 @@ describe('match', () => {
4444 expected : true ,
4545 } ,
4646 { subject : { a : 42 } , test : { a : { between : [ BigUint ( MAX_UINT64 ) , BigUint ( MAX_UINT512 ) ] as [ biguint , biguint ] } } , expected : false } ,
47+ { subject : 0 , test : { not : 0 } , expected : false } ,
48+ { subject : 0 , test : { not : 1 } , expected : true } ,
49+ { subject : 1 , test : { not : 0 } , expected : true } ,
50+ { subject : 1 , test : { not : 1 } , expected : false } ,
51+ { subject : 42n , test : { not : MAX_UINT512 } , expected : true } ,
52+ { subject : MAX_UINT512 , test : { not : MAX_UINT512 } , expected : false } ,
53+ { subject : { a : 42 } , test : { a : { not : 3 } } , expected : true } ,
54+ { subject : { a : 42 } , test : { a : { not : 42 } } , expected : false } ,
4755 ]
4856
4957 const account1 = ctx . any . account ( )
@@ -64,31 +72,50 @@ describe('match', () => {
6472
6573 const testData = [
6674 { subject : '' , test : '' , expected : true } ,
75+ { subject : '' , test : { not : '' } , expected : false } ,
6776 { subject : 'hello' , test : 'hello' , expected : true } ,
6877 { subject : 'hello' , test : 'world' , expected : false } ,
78+ { subject : 'hello' , test : { not : 'world' } , expected : true } ,
6979 { subject : '' , test : 'world' , expected : false } ,
80+ { subject : '' , test : { not : 'world' } , expected : true } ,
7081 { subject : Bytes ( ) , test : Bytes ( ) , expected : true } ,
82+ { subject : Bytes ( ) , test : { not : Bytes ( ) } , expected : false } ,
7183 { subject : Bytes ( 'hello' ) , test : Bytes ( 'hello' ) , expected : true } ,
84+ { subject : Bytes ( 'hello' ) , test : { not : Bytes ( 'hello' ) } , expected : false } ,
7285 { subject : Bytes ( 'hello' ) , test : Bytes ( 'world' ) , expected : false } ,
86+ { subject : Bytes ( 'hello' ) , test : { not : Bytes ( 'world' ) } , expected : true } ,
7387 { subject : Bytes ( '' ) , test : Bytes ( 'world' ) , expected : false } ,
7488 { subject : account1 , test : account1 , expected : true } ,
7589 { subject : account1 , test : sameAccount , expected : true } ,
90+ { subject : account1 , test : { not : sameAccount } , expected : false } ,
7691 { subject : account1 , test : differentAccount , expected : false } ,
92+ { subject : account1 , test : { not : differentAccount } , expected : true } ,
7793 { subject : app1 , test : app1 , expected : true } ,
7894 { subject : app1 , test : sameApp , expected : true } ,
95+ { subject : app1 , test : { not : sameApp } , expected : false } ,
7996 { subject : app1 , test : differentApp , expected : false } ,
97+ { subject : app1 , test : { not : differentApp } , expected : true } ,
8098 { subject : asset1 , test : asset1 , expected : true } ,
8199 { subject : asset1 , test : sameAsset , expected : true } ,
100+ { subject : asset1 , test : { not : sameAsset } , expected : false } ,
82101 { subject : asset1 , test : differentAsset , expected : false } ,
102+ { subject : asset1 , test : { not : differentAsset } , expected : true } ,
83103 { subject : arc4Str1 , test : arc4Str1 , expected : true } ,
84104 { subject : arc4Str1 , test : sameArc4Str , expected : true } ,
85105 { subject : arc4Str1 , test : differentArc4Str , expected : false } ,
86106 { subject : { a : 'hello' , b : 42 , c : arc4Str1 } , test : { a : 'hello' , b : { lessThanEq : 42 } , c : sameArc4Str } , expected : true } ,
107+ { subject : { a : 'hello' , b : 42 , c : arc4Str1 } , test : { not : { a : 'hello' , b : { lessThanEq : 42 } , c : sameArc4Str } } , expected : false } ,
87108 { subject : { a : 'hello' , b : 42 , c : arc4Str1 } , test : { c : sameArc4Str } , expected : true } ,
88109 { subject : { a : 'hello' , b : 42 , c : arc4Str1 } , test : { c : differentArc4Str } , expected : false } ,
110+ { subject : { a : 'hello' , b : 42 , c : arc4Str1 } , test : { not : { c : differentArc4Str } } , expected : true } ,
89111 { subject : [ 'hello' , 42 , arc4Str1 ] , test : [ 'hello' , { lessThanEq : 42 } , sameArc4Str ] , expected : true } ,
90112 { subject : [ 'hello' , 42 , arc4Str1 ] , test : [ 'hello' ] , expected : true } ,
113+ { subject : [ 'hello' , 42 , arc4Str1 ] , test : { not : [ 'hello' ] } , expected : false } ,
91114 { subject : [ 'hello' , 42 , arc4Str1 ] , test : [ 'world' ] , expected : false } ,
115+ { subject : [ 'hello' , 42 , arc4Str1 ] , test : { not : [ 'world' ] } , expected : true } ,
116+ { subject : { x : 43 } , test : { not : { x : 3 } } , expected : true } ,
117+ { subject : { x : 43 } , test : { x : { not : 3 } } , expected : true } ,
118+ { subject : { x : 43 } , test : { not : { x : { not : 3 } } } , expected : false } ,
92119 ]
93120
94121 test . each ( numericTestData ) ( 'should be able to match numeric data %s' , ( data ) => {
0 commit comments