From 88b91db506969f3ed7752bfe9e1e916f5e098942 Mon Sep 17 00:00:00 2001 From: Teddy Date: Mon, 12 Aug 2013 08:53:38 +0800 Subject: ... --- robust_test.scm | 231 --------------------------------------------------- test/robust_test.scm | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 231 insertions(+), 231 deletions(-) delete mode 100644 robust_test.scm create mode 100644 test/robust_test.scm diff --git a/robust_test.scm b/robust_test.scm deleted file mode 100644 index 6dd4abf..0000000 --- a/robust_test.scm +++ /dev/null @@ -1,231 +0,0 @@ -(+) -(-) -(*) -(/) -(+ 0) -(- 0) -(* 0) -(/ 0) -(<) -(>) -(=) -(< 1) -(> 1) -(= 1) -(+ 0 . 0) -(+ . 0) -(- 0 . 0) -(- . 0) -(< 0 . 0) -(< . 0) - -(+ 0 'a) -(- 0 'a) -(* 0 'a) -(/ 0 'a) -(< #f) -(> #f) -(= #f) - -(exact?) -(exact? 'a) -(exact? 1 2) -(exact? . 0) -(exact? 0 . 0) - -(inexact?) -(inexact? 'b) -(inexact? 1 2) -(inexact? . 0) -(inexact? 0 . 0) - -(not) -(not 1 2) -(not 1) -(not #f) -(not '()) -(not . 0) -(not 0 . 0) - -(boolean?) -(boolean? 1 2) -(boolean? 1) -(boolean? #t) -(boolean? . 0) -(boolean? 0 . 0) - -(pair?) -(pair? 1 2) -(pair? '()) -(pair? (cons 1 2)) -(pair? '(3 . 4)) -(pair? 3) -(pair? . 0) -(pair? 0 . 0) - -(cons) -(cons 1) -(cons 1 2 3) -(cons 'a '()) -(cons . 0) -(cons 0 . 0) - - -(define t (cons 'a '())) - -(car) -(car 1) -(car 1 2) -(car '()) -(car t) -(car . 0) -(car 0 . 0) - -(cdr) -(cdr 1) -(cdr 1 2) -(cdr '()) -(cdr t) -(cdr . 0) -(cdr 0 . 0) - -(set-car!) -(set-car! 1) -(set-car! 1 2) -(set-car! t '()) -t -(set-car! . 0) -(set-car! 0 . 0) - -(set-cdr!) -(set-cdr! 1) -(set-cdr! 1 2) -(set-cdr! t 'a) -t -(set-cdr! . 0) -(set-cdr! 0 . 0) - -(null?) -(null? 1 2) -(null? 1) -(null? '()) -(null? #f) -(null? . 0) -(null? 0 . 0) - -(list?) -(list? 1 2) -(list? '()) -(list? t) -(set-cdr! t '()) -t -(list? t) -(list? . 0) -(list? 0 . 0) - -(list) -(list 1) -(list 1 2) -(list . 0) -(list 0 . 0) - -(length) -(length 1 2) -(length '( 1 . 2)) -(length '()) -(length '( 1 2 3 )) - -(append) -(append '()) -(append '(1 2) 3) -(append '(1 2) '(3 4) 5) -(append '(1 2) 3 '(1)) -(append '() '() '() '(1 2) 3) - -(display) -(display 1 2) -(display . 0) -(display 0 . 0) -(display t) - -(define) -(define x) -(define 1) -(define x x) -(define x 1 2) -(define x . 1) -(define x 1 . 2) -(define ()) -(define (f)) -(define (f . ) 1) -(define () 3) - -(lambda) -(lambda ()) -(lambda 1) -(lambda () '(1 2 3)) -(lambda () 1 2 3) -(lambda #() 1) - -(define src - '(define g (lambda (x) (if (= x 5) 0 ((lambda () (display x) (g (+ x 1)))))))) -src -(eval src) -(eval '(g 0)) -(eval (list * 2 3)) -(eval '(* 2 3)) - -(define f (lambda (x) (+ x x))) ;; test comments -((lambda (x y) (f 3)) 1 2) ;; first-class procedure -; this is a single line comment -; another line -(define f (lambda (x) (lambda (y) (+ x y)))) - -(f 1) ; # - -((f 1) 2) ; 3 - -(define g (lambda (x) (define y 2) (+ x y))) -(g 3) - -((lambda () (display 2) (display 1) (+ 1 2))) -(define g (lambda (x) (if (= x 5) 0 ((lambda () (display x) (g (+ x 1))))))) -(g 0) - -(define g (lambda (x) - (if (= x 5) - 0 - ((lambda () - (display x) - (g (+ x 1))))))) -(g 0) - -(define square (lambda (x) (* x x))) - -(square 2) - -(define (f x y) - ((lambda (a b) - (+ (* x (square a)) - (* y b) - (* a b))) - (+ 1 (* x y )) - (- 1 y))) - -(f 1 2) - -((lambda (x + y) (+ x y)) 4 / 2) ; a classic trick - -(if #t 1 ()) -(if #f 1 ()) ; Error -; "Test double quotes in comments" -(display " Test double quotes outside the comments ; ;; ; ; ") - -(equal? #(1 2 '()) #(1 2 '(1))) -(equal? #(1 2 '(1)) #(1 2 '(1))) - -(define x '(1 . 1)) -(set-cdr! x x) -(list x) -x -(cons x x) diff --git a/test/robust_test.scm b/test/robust_test.scm new file mode 100644 index 0000000..6dd4abf --- /dev/null +++ b/test/robust_test.scm @@ -0,0 +1,231 @@ +(+) +(-) +(*) +(/) +(+ 0) +(- 0) +(* 0) +(/ 0) +(<) +(>) +(=) +(< 1) +(> 1) +(= 1) +(+ 0 . 0) +(+ . 0) +(- 0 . 0) +(- . 0) +(< 0 . 0) +(< . 0) + +(+ 0 'a) +(- 0 'a) +(* 0 'a) +(/ 0 'a) +(< #f) +(> #f) +(= #f) + +(exact?) +(exact? 'a) +(exact? 1 2) +(exact? . 0) +(exact? 0 . 0) + +(inexact?) +(inexact? 'b) +(inexact? 1 2) +(inexact? . 0) +(inexact? 0 . 0) + +(not) +(not 1 2) +(not 1) +(not #f) +(not '()) +(not . 0) +(not 0 . 0) + +(boolean?) +(boolean? 1 2) +(boolean? 1) +(boolean? #t) +(boolean? . 0) +(boolean? 0 . 0) + +(pair?) +(pair? 1 2) +(pair? '()) +(pair? (cons 1 2)) +(pair? '(3 . 4)) +(pair? 3) +(pair? . 0) +(pair? 0 . 0) + +(cons) +(cons 1) +(cons 1 2 3) +(cons 'a '()) +(cons . 0) +(cons 0 . 0) + + +(define t (cons 'a '())) + +(car) +(car 1) +(car 1 2) +(car '()) +(car t) +(car . 0) +(car 0 . 0) + +(cdr) +(cdr 1) +(cdr 1 2) +(cdr '()) +(cdr t) +(cdr . 0) +(cdr 0 . 0) + +(set-car!) +(set-car! 1) +(set-car! 1 2) +(set-car! t '()) +t +(set-car! . 0) +(set-car! 0 . 0) + +(set-cdr!) +(set-cdr! 1) +(set-cdr! 1 2) +(set-cdr! t 'a) +t +(set-cdr! . 0) +(set-cdr! 0 . 0) + +(null?) +(null? 1 2) +(null? 1) +(null? '()) +(null? #f) +(null? . 0) +(null? 0 . 0) + +(list?) +(list? 1 2) +(list? '()) +(list? t) +(set-cdr! t '()) +t +(list? t) +(list? . 0) +(list? 0 . 0) + +(list) +(list 1) +(list 1 2) +(list . 0) +(list 0 . 0) + +(length) +(length 1 2) +(length '( 1 . 2)) +(length '()) +(length '( 1 2 3 )) + +(append) +(append '()) +(append '(1 2) 3) +(append '(1 2) '(3 4) 5) +(append '(1 2) 3 '(1)) +(append '() '() '() '(1 2) 3) + +(display) +(display 1 2) +(display . 0) +(display 0 . 0) +(display t) + +(define) +(define x) +(define 1) +(define x x) +(define x 1 2) +(define x . 1) +(define x 1 . 2) +(define ()) +(define (f)) +(define (f . ) 1) +(define () 3) + +(lambda) +(lambda ()) +(lambda 1) +(lambda () '(1 2 3)) +(lambda () 1 2 3) +(lambda #() 1) + +(define src + '(define g (lambda (x) (if (= x 5) 0 ((lambda () (display x) (g (+ x 1)))))))) +src +(eval src) +(eval '(g 0)) +(eval (list * 2 3)) +(eval '(* 2 3)) + +(define f (lambda (x) (+ x x))) ;; test comments +((lambda (x y) (f 3)) 1 2) ;; first-class procedure +; this is a single line comment +; another line +(define f (lambda (x) (lambda (y) (+ x y)))) + +(f 1) ; # + +((f 1) 2) ; 3 + +(define g (lambda (x) (define y 2) (+ x y))) +(g 3) + +((lambda () (display 2) (display 1) (+ 1 2))) +(define g (lambda (x) (if (= x 5) 0 ((lambda () (display x) (g (+ x 1))))))) +(g 0) + +(define g (lambda (x) + (if (= x 5) + 0 + ((lambda () + (display x) + (g (+ x 1))))))) +(g 0) + +(define square (lambda (x) (* x x))) + +(square 2) + +(define (f x y) + ((lambda (a b) + (+ (* x (square a)) + (* y b) + (* a b))) + (+ 1 (* x y )) + (- 1 y))) + +(f 1 2) + +((lambda (x + y) (+ x y)) 4 / 2) ; a classic trick + +(if #t 1 ()) +(if #f 1 ()) ; Error +; "Test double quotes in comments" +(display " Test double quotes outside the comments ; ;; ; ; ") + +(equal? #(1 2 '()) #(1 2 '(1))) +(equal? #(1 2 '(1)) #(1 2 '(1))) + +(define x '(1 . 1)) +(set-cdr! x x) +(list x) +x +(cons x x) -- cgit v1.2.3-70-g09d2