diff options
-rw-r--r-- | tests/012/seq.tl | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/tests/012/seq.tl b/tests/012/seq.tl index a6a7b069..f81c4046 100644 --- a/tests/012/seq.tl +++ b/tests/012/seq.tl @@ -1156,6 +1156,131 @@ (split* #(a) '(0)) (#() #()) (split* #(a) '(1)) (#(a) #())) +(mtest + (split* "a" -1) ("" "") + (split* "a" 0) ("" "") + (split* "a" 1) ("a" "") + (split* "a" 2) ("a" "") ;; questionable behavior + (split* "a" '(-1)) ("" "") + (split* "a" '(0)) ("" "") + (split* "a" '(1)) ("a" "")) + +(mtest + (split* 2..3 -1) (nil nil) + (split* 2..3 0) (nil nil) + (split* 2..3 1) ((2) nil) + (split* 2..3 2) ((2) nil) ;; questionable behavior + (split* 2..3 '(-1)) (nil nil) + (split* 2..3 '(0)) (nil nil) + (split* 2..3 '(1)) ((2) nil)) + +(mtest + (split* '(a b) -1) ((a) nil) + (split* '(a b) 0) (nil (b)) + (split* '(a b) 1) ((a) nil) + (split* '(a b) 2) ((a b) nil) + (split* '(a b) 3) ((a b) nil) ;; questionable behavior + (split* '(a b) '(0 -1)) (nil (b)) ;; questionable + (split* '(a b) '(0 1)) (nil nil nil) ;; questionabble + (split* '(a b) '(0 -1 2)) (nil (b) nil) ;; questionable + (split* '(a b) '(0 1 2)) (nil nil nil) ;; questionable + (split* '(a b) '(1 2)) ((a) nil) + (split* '(a b) '(-1 2)) ((a) nil)) ;; questionable + +(mtest + (split* #(a b) -1) (#(a) #()) + (split* #(a b) 0) (#() #(b)) + (split* #(a b) 1) (#(a) #()) + (split* #(a b) 2) (#(a b) #()) + (split* #(a b) 3) (#(a b) #()) ;; questionable behavior + (split* #(a b) '(0 -1)) (#() #(b)) ;; questionable + (split* #(a b) '(0 1)) (#() #() #()) ;; questionable + (split* #(a b) '(0 -1 2)) (#() #(b) #()) ;; questionable + (split* #(a b) '(0 1 2)) (#() #() #()) ;; questionable + (split* #(a b) '(1 2)) (#(a) #()) ;; questionable + (split* #(a b) '(-1 2)) (#(a) #())) ;; questionable + +(mtest + (split* "ab" -1) ("a" "") + (split* "ab" 0) ("" "b") + (split* "ab" 1) ("a" "") + (split* "ab" 2) ("ab" "") + (split* "ab" 3) ("ab" "") ;; questionable behavior + (split* "ab" #(0 -1)) ("" "b") ;; questionable + (split* "ab" '(0 1)) ("" "" "") ;; questionable + (split* "ab" '(0 -1 2)) ("" "b" "") ;; questionable + (split* "ab" '(0 1 2)) ("" "" "") ;; questionable + (split* "ab" '(1 2)) ("a" "") ;; questionable + (split* "ab" '(-1 2)) ("a" "")) ;; questionable + +(mtest + (split* 2..4 -1) ((2) ()) + (split* 2..4 0) (nil (3)) + (split* 2..4 1) ((2) nil) + (split* 2..4 2) ((2 3) nil) + (split* 2..4 3) ((2 3) nil) + (split* 2..4 '(0 -1)) (nil (3)) + (split* 2..4 '(0 1)) (nil nil nil) + (split* 2..4 '(0 -1 2)) (nil (3) nil) + (split* 2..4 '(0 1 2)) (nil nil nil) + (split* 2..4 '(1 2)) ((2) nil) + (split* 2..4 '(-1 2)) ((2) nil)) + +(mtest + (split* '(a b c) -1) ((a b) nil) + (split* '(a b c) 0) (nil (b c)) + (split* '(a b c) 1) ((a) (c)) + (split* '(a b c) 2) ((a b) nil) + (split* '(a b c) 3) ((a b c) nil) + (split* '(a b c) 4) ((a b c) nil) + (split* '(a b c) '(0 1)) (nil nil (c)) + (split* '(a b c) '(0 2)) (nil (b) nil) + (split* '(a b c) '(0 3)) (nil (b c) nil) + (split* '(a b c) '(1 2)) ((a) nil nil) + (split* '(a b c) '(1 3)) ((a) (c) nil) + (split* '(a b c) '(2 3)) ((a b) nil)) + +(mtest + (split* #(a b c) -1) (#(a b) #()) + (split* #(a b c) 0) (#() #(b c)) + (split* #(a b c) 1) (#(a) #(c)) + (split* #(a b c) 2) (#(a b) #()) + (split* #(a b c) 3) (#(a b c) #()) + (split* #(a b c) 4) (#(a b c) #()) + (split* #(a b c) '(0 1)) (#() #() #(c)) + (split* #(a b c) '(0 2)) (#() #(b) #()) + (split* #(a b c) '(0 3)) (#() #(b c) #()) + (split* #(a b c) '(1 2)) (#(a) #() #()) + (split* #(a b c) '(1 3)) (#(a) #(c) #()) + (split* #(a b c) '(2 3)) (#(a b) #())) + +(mtest + (split* "abc" -1) ("ab" "") + (split* "abc" 0) ("" "bc") + (split* "abc" 1) ("a" "c") + (split* "abc" 2) ("ab" "") + (split* "abc" 3) ("abc" "") + (split* "abc" 4) ("abc" "") + (split* "abc" '(0 1)) ("" "" "c") + (split* "abc" '(0 2)) ("" "b" "") + (split* "abc" '(0 3)) ("" "bc" "") + (split* "abc" '(1 2)) ("a" "" "") + (split* "abc" '(1 3)) ("a" "c" "") + (split* "abc" '(2 3)) ("ab" "")) + +(mtest + (split* 2..5 -1) ((2 3) nil) + (split* 2..5 0) (nil (3 4)) + (split* 2..5 1) ((2) (4)) + (split* 2..5 2) ((2 3) nil) + (split* 2..5 3) ((2 3 4) nil) + (split* 2..5 4) ((2 3 4) nil) + (split* 2..5 '(0 1)) (nil nil (4)) + (split* 2..5 '(0 2)) (nil (3) nil) + (split* 2..5 '(0 3)) (nil (3 4) nil) + (split* 2..5 '(1 2)) ((2) nil nil) + (split* 2..5 '(1 3)) ((2) (4) nil) + (split* 2..5 '(2 3)) ((2 3) nil)) (mtest (partition nil -1) nil |