[Anthy-dev 1037] Re: case 文の実装

Back to archive index

Kouhei Sutou kou****@cozmi*****
2004年 9月 10日 (金) 00:48:20 JST


須藤です.

In <20040****@nerds*****>
  "[Anthy-dev 1035] case 文の実装" on Thu, 9 Sep 2004 03:17:17 -0700,
  Jun Inoue <jun0****@nerds*****> wrote:

> case 文を実装してみました。テストは同梱の test-ext.scm が
> 通りますが、uim のテストスィートの走らせかたがよくわからな
> くて (test/test-custom.scm が見つからないと起こられる ==>
> run-test.scm に (add-load-path ".") を追加) それにテストユ
> ニットも正しく書けてない自信があるので (^^; コマンドライン
> から同等のものを打ち込んで確認しました。

テストはこのように書きます.

  (define-uim-test-case "テストケース名"
    ("テスト名"
     (assert-なんとか ...)
     (assert-なんとか ...)
     ...)
    ("テスト名"
     (assert-なんとか ...)
     (assert-なんとか ...)
     ...)
    ...)

ということで,「テスト名」が抜けているようです.ついでにパッ
チも付けておきます(run-test.scmにadd-load-pathもついでに).

# 次のバージョンのGaUnitでは「テスト名」が抜けていたらエラー
# を出すようにしよう.


Index: test/run-test.scm
===================================================================
--- test/run-test.scm	(revision 1168)
+++ test/run-test.scm	(working copy)
@@ -4,6 +4,8 @@
 (use file.util)
 (use test.unit)
 
+(add-load-path ".")
+
 (if (symbol-bound? 'main)
     (define _main main))
 
@@ -12,8 +14,8 @@
     (for-each (lambda (test-script)
                 (load (string-join (list dir test-script) "/")))
               (directory-list dir
-                              :filter (lambda (x) (rxmatch #/^test-.+\.scm$/ x)))
-              )
+                              :filter (lambda (x)
+                                        (rxmatch #/^test-.+\.scm$/ x))))
     (if (symbol-bound? '_main)
         (_main `(,(car args) "-vp" ,@(cdr args)))
         (run-all-test))))
Index: test/test-ext.scm
===================================================================
--- test/test-ext.scm	(revision 1168)
+++ test/test-ext.scm	(working copy)
@@ -2,17 +2,20 @@
 
 (use test.unit)
 
+(require "test/uim-test-utils")
+
 (define-uim-test-case "test slib extensions"
-  (assert-false (case 'symbol
+  ("test case"
+   (assert-false (case 'symbol
 		  ((0 #t #f () (symbol) "symbol") 0)
 		  ((different-symbol symbol) #f)
 		  (else 1)))
-  (assert-false (case (+ 5 5)
-		  ((#t #f () (symbol) "10") 0)
-		  (((+ 5 5) else) 1)
-		  ((10) (case "string"
-			  (("string") 7)
-			  (else #f)))))
-  (assert-false (case 2
-		  ((2) #f))))
+   (assert-false (case (+ 5 5)
+                   ((#t #f () (symbol) "10") 0)
+                   (((+ 5 5) else) 1)
+                   ((10) (case "string"
+                           (("string") 7)
+                           (else #f)))))
+   (assert-false (case 2
+                   ((2) #f)))))
 




Anthy-dev メーリングリストの案内
Back to archive index