diff --git a/lib/chibi/iset/constructors.scm b/lib/chibi/iset/constructors.scm index 1f33222d..ec72f3e6 100644 --- a/lib/chibi/iset/constructors.scm +++ b/lib/chibi/iset/constructors.scm @@ -121,13 +121,13 @@ (cond ;; aaaa... ;; ...bbbb - ((< b-end a-start) + ((<= b-end a-start) (if (iset-should-merge-left? a b) (iset-merge-left! a b) (iset-adjoin-node-left! a b))) ;; ...aaaa ;; bbbb... - ((> b-start a-end) + ((>= b-start a-end) (if (iset-should-merge-right? a b) (iset-merge-right! a b) (iset-adjoin-node-right! a b))) diff --git a/tests/iset-tests.scm b/tests/iset-tests.scm index 0bdb1b3b..e7b4b160 100644 --- a/tests/iset-tests.scm +++ b/tests/iset-tests.scm @@ -100,4 +100,7 @@ (test-assert (iset<= (iset 97) (iset 97 117))) (test-assert (iset<= (iset 117) (iset 97 117))) +(test-assert (iset= (iset-union (iset 1 3) (iset 3 4)) (iset 1 3 4))) +(test-assert (iset= (iset-union (iset 3) (iset 1 3)) (iset 1 3))) + (test-end)