TAP
d:id:tokuhirom:20080305:1204677112 この辺とこの辺を参考にして,TAPを使えるような練習をしてみた.
これで,JavaScript 第5版を読みながらテストを書こうかと思う今日このごろ.
練習.
#!/usr/bin/gosh (define (square a) (* a a)) (define (sos2 a b) (+ (square a) (square b))) (define (max2 a b) (if (> a b) a b)) (define (f x y z) (cond ((< x y) (sos2 (max2 x y) (max2 x z))) (else (sos2 (max2 y x) (max2 y z))))) (print "1..6") (let* ((count 1) (is (lambda (res exp) (print (if (= res exp) "ok" "ng") " " count) (set! count (+ count 1))))) (is (f 1 2 3) 13) (is (f 1 3 2) 13) (is (f 2 1 3) 13) (is (f 2 3 1) 13) (is (f 3 1 2) 13) (is (f 3 2 1) 13))
ということでJavaScriptでも書いてみた.
$ cat aa.js #!/usr/bin/js print("1..1"); print("ok 1"); $ prove aa.js aa....ok All tests successful. Files=1, Tests=1, 0 wallclock secs ( 0.00 cusr + 0.02 csys = 0.02 CPU)