source: project/release/4/stack/trunk/tests/run.scm @ 13527

Last change on this file since 13527 was 13527, checked in by Kon Lovett, 11 years ago

Save.

File size: 1.4 KB
Line 
1;;;; stack-test
2
3(require-extension test)
4(import test)
5
6(require-extension stack)
7(import stack)
8
9(test-group "Make/Size" 
10  (test-assert (make-stack))
11  (test-assert (stack? (make-stack)))
12  (test-assert (stack-empty? (make-stack)))
13  (test 0 (stack-count (make-stack)))
14)
15
16(test-group "Push/Pop/Peek/Poke"
17  (let ([stk #f])
18    (expect-set! stk (make-stack))
19    (expect-success (stack-push! stk 1))
20    (expect-success (stack-push! stk 2 3))
21    (test 3 (stack-count stk))
22    (test 3 (stack-pop! stk))
23    (test 2 (stack-pop! stk))
24    (test 1 (stack-pop! stk))
25    (test-assert (stack-empty? stk))
26    (expect-failure (stack-pop! stk))
27    (expect-success (stack-push! stk 1 2 3))
28    (test 2 (stack-peek stk 1))
29    (expect-success (stack-poke! stk 4 1))
30    (test 3 (stack-pop! stk))
31    (test 4 (stack-pop! stk))
32    (test 0 (stack-depth stk)) )
33)
34
35(test-group "Cut"
36  (let ([stk (make-stack)])
37    (expect-success (stack-push! stk 1 2 3))
38    (expect-equal '(2) (stack-cut! stk 1))
39    (test 2 (stack-count stk))
40    (expect-success (stack-push! stk 4 5))
41    (expect-equal '(4 3 1) (stack-cut! stk 1 3))
42    (test 1 (stack-count stk)) )
43)
44
45(test-group "Aux"
46  (let ([stk (make-stack)]
47        [stk1 #f])
48    (expect-success (stack-push! stk 1 2 3))
49    (expect-equal '(3 2 1) (stack->list stk))
50    (expect-set! stk1 (list->stack '(1 2 3)))
51    (test-assert (stack? stk1))
52    (test 3 (stack-count stk1))
53    (test 1 (stack-pop! stk1)) )
54)
Note: See TracBrowser for help on using the repository browser.