summaryrefslogtreecommitdiff
path: root/not-quite-lisp/nql-test.scm
blob: 101ae36e709174f67cbb54658792c593aa073ba4 (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
;; -*- compile-command: "guile -L . nql-test.scm"; -*-
(use-modules (srfi srfi-64)
	     (nql))

(test-begin "harness")


(test-equal "( is 1"
  1
  (paren->number #\())

(test-equal ") is -1"
  -1
  (paren->number #\)))


(test-equal "? is 0"
  0
  (paren->number #\?))


(test-equal "count all even"
  0
  (nql "(())" #t))

(test-equal "count all 3"
  3
  (nql "(((" #t))

(test-equal "count all 5-2"
  3
  (nql "(()(()(" #t))

(test-equal "count all -2+1"
  -1
  (nql "())" #t))

(test-equal "first-negative never"
  #f
  (nql "(" #f))

(test-equal "first-negative immediate"
  1
  (nql ")" #f))

(test-equal "first-negative five"
  5
  (nql "()())" #f))


(test-end "harness")