File: tests.lisp

package info (click to toggle)
cl-split-sequence 1%3A1.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 92 kB
  • sloc: lisp: 158; makefile: 2
file content (38 lines) | stat: -rw-r--r-- 1,408 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-

(defpackage :split-sequence/tests
  (:use :common-lisp :split-sequence :fiveam))

(in-package :split-sequence/tests)

(in-suite* :split-sequence)

;;;; SPLIT-SEQUENCE

(test (split-sequence.1 :compile-at :definition-time)
  (is (equalp (split-sequence #\; "a;;b;c")
              (values '("a" "" "b" "c") 6))))

(test (split-sequence.2 :compile-at :definition-time)
  (is (equalp (split-sequence #\; "a;;b;c" :from-end t)
              (values '("a" "" "b" "c") 0))))

(test (split-sequence.3 :compile-at :definition-time)
  (is (equalp (split-sequence #\; "a;;b;c" :from-end t :count 1)
              (values '("c") 4))))

(test (split-sequence.4 :compile-at :definition-time)
  (is (equalp (split-sequence #\; "a;;b;c" :remove-empty-subseqs t)
              (values '("a" "b" "c") 6))))

(test (split-sequence.5 :compile-at :definition-time)
  (is (equalp (split-sequence #\; ";oo;bar;ba;" :start 1 :end 9)
              (values '("oo" "bar" "b") 9))))

(test (split-sequence-if.1 :compile-at :definition-time)
  (is (equalp (split-sequence-if (lambda (x) (member x '(#\a #\b))) "abracadabra")
              (values '("" "" "r" "c" "d" "" "r" "") 11))))

(test (split-sequence-if-not.1 :compile-at :definition-time)
  (is (equalp (split-sequence-if-not (lambda (x) (member x '(#\a #\b))) "abracadabra")
              (values '("ab" "a" "a" "ab" "a") 11))))