@@ -11,38 +11,49 @@ const mock = value => harden({ brand: mockBrand, value });
1111// correctly.
1212
1313test ( 'set minus setBound' , t => {
14+ const specimen = mock ( [ 'a' , 'b' , 'c' ] ) ;
1415 t . deepEqual (
15- m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 1n ) ) ) ,
16- mock ( [ 'b' ] ) ,
16+ m . subtract ( specimen , mock ( M . containerHas ( M . any ( ) , 1n ) ) ) ,
17+ mock ( [ 'b' , 'c' ] ) ,
1718 ) ;
18- t . deepEqual ( m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( 'a' , 1n ) ) ) , mock ( [ 'b' ] ) ) ;
1919 t . deepEqual (
20- m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 1n ) ) ) ,
21- mock ( [ 'b' ] ) ,
20+ m . subtract ( specimen , mock ( M . containerHas ( 'a' , 1n ) ) ) ,
21+ mock ( [ 'b' , 'c' ] ) ,
22+ ) ;
23+ t . deepEqual (
24+ m . subtract ( specimen , mock ( M . containerHas ( M . any ( ) , 1n ) ) ) ,
25+ mock ( [ 'b' , 'c' ] ) ,
26+ ) ;
27+ t . deepEqual (
28+ m . subtract ( specimen , mock ( M . containerHas ( M . any ( ) , 3n ) ) ) ,
29+ mock ( [ ] ) ,
30+ ) ;
31+ t . deepEqual (
32+ m . subtract ( specimen , mock ( M . containerHas ( M . any ( ) ) ) ) ,
33+ mock ( [ 'b' , 'c' ] ) ,
2234 ) ;
23- t . deepEqual ( m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 2n ) ) ) , mock ( [ ] ) ) ;
24- t . deepEqual ( m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) ) ) ) , mock ( [ 'b' ] ) ) ;
2535
26- t . throws ( ( ) => m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 3n ) ) ) , {
27- message : 'Has only "[2n ]" matches, but needs "[3n ]"' ,
36+ t . throws ( ( ) => m . subtract ( specimen , mock ( M . containerHas ( M . any ( ) , 4n ) ) ) , {
37+ message : 'Has only "[3n ]" matches, but needs "[4n ]"' ,
2838 } ) ;
2939
30- t . throws ( ( ) => m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( 'c ', 1n ) ) ) , {
40+ t . throws ( ( ) => m . subtract ( specimen , mock ( M . containerHas ( 'd ', 1n ) ) ) , {
3141 message : 'Has only "[0n]" matches, but needs "[1n]"' ,
3242 } ) ;
3343
34- t . throws ( ( ) => m . subtract ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( 'c ') ) ) , {
44+ t . throws ( ( ) => m . subtract ( specimen , mock ( M . containerHas ( 'd ') ) ) , {
3545 message : 'Has only "[0n]" matches, but needs "[1n]"' ,
3646 } ) ;
3747} ) ;
3848
3949test ( 'set isGTE setBound' , t => {
40- t . true ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 1n ) ) ) ) ;
41- t . true ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( 'a' , 1n ) ) ) ) ;
42- t . true ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 1n ) ) ) ) ;
43- t . true ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 2n ) ) ) ) ;
44- t . false ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) , 3n ) ) ) ) ;
45- t . false ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( 'c' , 1n ) ) ) ) ;
46-
47- t . true ( m . isGTE ( mock ( [ 'a' , 'b' ] ) , mock ( M . has ( M . any ( ) ) ) ) ) ;
50+ const specimen = mock ( [ 'a' , 'b' , 'c' ] ) ;
51+ t . true ( m . isGTE ( specimen , mock ( M . containerHas ( M . any ( ) , 1n ) ) ) ) ;
52+ t . true ( m . isGTE ( specimen , mock ( M . containerHas ( 'a' , 1n ) ) ) ) ;
53+ t . true ( m . isGTE ( specimen , mock ( M . containerHas ( M . any ( ) , 1n ) ) ) ) ;
54+ t . true ( m . isGTE ( specimen , mock ( M . containerHas ( M . any ( ) , 3n ) ) ) ) ;
55+ t . false ( m . isGTE ( specimen , mock ( M . containerHas ( M . any ( ) , 4n ) ) ) ) ;
56+ t . false ( m . isGTE ( specimen , mock ( M . containerHas ( 'd' , 1n ) ) ) ) ;
57+
58+ t . true ( m . isGTE ( specimen , mock ( M . containerHas ( M . any ( ) ) ) ) ) ;
4859} ) ;
0 commit comments