@@ -23,4 +23,35 @@ describe("union", () => {
2323 assert . ok ( ordered ( nsf . union ( [ nsf . interval ( 1 , 2 ) , nsf . interval ( - 10 , - 5 ) ] ) ) ) ;
2424 assert . ok ( ordered ( nsf . union ( [ nsf . interval ( 1 , 2 ) , nsf . interval ( - 5 , 5 ) ] ) ) ) ;
2525 } ) ;
26+
27+ it ( "union contains" , ( ) => {
28+ const a = nsf . union ( [ nsf . interval ( 0 , 10 ) , nsf . interval ( 50 , 60 ) ] ) ;
29+ assert . ok ( ! nsf . EMPTY . contains ( 0 ) ) ;
30+ assert . ok ( a . contains ( 0 ) ) ;
31+ assert . ok ( a . contains ( 1 ) ) ;
32+ assert . ok ( a . contains ( 50 ) ) ;
33+ assert . ok ( a . contains ( 55 ) ) ;
34+ assert . ok ( a . contains ( 60 ) ) ;
35+ assert . ok ( ! a . contains ( 61 ) ) ;
36+ assert . ok ( ! a . contains ( 49 ) ) ;
37+ assert . ok ( ! a . contains ( - 1 ) ) ;
38+ assert . ok ( ! a . contains ( 15 ) ) ;
39+ } ) ;
40+
41+ it ( "union subset" , ( ) => {
42+ const a = nsf . union ( [ nsf . interval ( 0 , 10 ) , nsf . interval ( 50 , 60 ) ] ) ;
43+ assert . ok ( a . subset ( nsf . single ( 0 , 100 ) ) ) ;
44+ assert . ok ( a . subset ( nsf . FULL ) ) ;
45+ assert . ok ( a . subset ( nsf . union ( [ nsf . interval ( - 1 , 11 ) , nsf . interval ( 45 , 65 ) ] ) ) ) ;
46+
47+ assert . ok ( nsf . EMPTY . subset ( nsf . FULL ) ) ;
48+ } ) ;
49+
50+ it ( "union superset" , ( ) => {
51+ const a = nsf . union ( [ nsf . interval ( 0 , 10 ) , nsf . interval ( 50 , 60 ) ] ) ;
52+ assert . ok ( a . superset ( nsf . single ( 0 , 1 ) ) ) ;
53+ assert . ok ( a . superset ( nsf . EMPTY ) ) ;
54+ assert . ok ( a . superset ( nsf . union ( [ nsf . interval ( 2 , 3 ) , nsf . interval ( 5 , 6 ) ] ) ) ) ;
55+ assert . ok ( nsf . FULL . superset ( nsf . EMPTY ) ) ;
56+ } ) ;
2657} ) ;
0 commit comments