Initial Commit
[packages] / mule-packages / edict / edict-test.el
1 ;;;;;; Copyright (C) 1992 Bob Kerns <rwk@crl.dec.com>
2 ;;;
3 ;;;
4 ;;;   This program is free software; you can redistribute it and/or modify
5 ;;;   it under the terms of the GNU General Public License as published by
6 ;;;   the Free Software Foundation; either version 1, or (at your option)
7 ;;;   any later version.  ;;; 
8 ;;;   This program is distributed in the hope that it will be useful,
9 ;;;   but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;;;   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 ;;;   GNU General Public License for more details.  ;;; 
12 ;;;   You should have received a copy of the GNU General Public License
13 ;;;   along with this program; if not, write to the Free Software
14 ;;;   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  ;;; 
15
16 ;;; Test suite for morphology rules for edict.el.
17 ;;; To run the tests, load this file, and do m-X edict-perform-tests.
18 ;;; This will create an *EDICT-TESTS* buffer with the results.
19
20
21 (require 'cl)
22
23 ;;; This should exist, but doesn't.  See edict.install for the
24 ;;; compiler half of this.  You should be sure to load the same
25 ;;; hacks into your compiler if you compile this by hand, or you
26 ;;; won't get it byte compiled.
27
28 ;(defmacro eval-when (when &rest forms)
29 ;  (and (or (member 'eval when)
30 ;           (member ':execute when))
31 ;       (mapcar (function eval) forms))
32 ;  (and (or (member 'load when)
33 ;          (member ':load-toplevel when))
34 ;       (cons 'progn forms)))
35
36 ;;; first, a couple simple tests.
37
38 (defun edict-test-string (flag string)
39   "Show what strings will be searched for a test string.  If given a prefix arg,
40 traces step by step; type Return for each new step."
41   (interactive "P
42 sTest string: ")
43   (let ((*edict-expand-string-trace* flag))
44     (message (format "%s" (edict-expand-string string)))))
45
46 (defun edict-test-rule (rule-name string)
47   (interactive "SRule name: 
48 sTest string: ")
49   (let ((rule (edict-get-rule rule-name)))
50     (unless rule (error "There is no rule named '%s'" rule-name))
51     (unless (string-match (edict-rule-pattern rule) string)
52       (error "The rule %s does not match '%s'." rule-name string))
53     (apply (edict-rule-function rule) string
54            (edict-rule-additional-args rule))))
55
56 (eval-when (eval load compile)
57 (defstruct edict-test
58   word                                  ; Word to be tested.
59   should-have                           ; Expansions that should be found
60   should-not-have                       ; Expansions that should not be found.
61   from-syntax-types
62   to-syntax-types)
63 )
64
65 (defvar *edict-tests* nil)
66
67 (defun remove-edict-test (name)
68   (let ((test (get-edict-test name)))
69     (setq *edict-tests* (delq test *edict-tests*))))
70
71 (defun add-edict-test (test)
72   ;; Preserve the order of the tests.
73   (let* ((name (edict-test-word test))
74          (old (get-edict-test name)))
75     (if old
76         (setf (edict-test-should-have old) (edict-test-should-have test)
77               (edict-test-should-not-have old) (edict-test-should-not-have test)
78               (edict-test-from-syntax-types old)
79               (edict-test-from-syntax-types test)
80               (edict-test-to-syntax-types old)
81               (edict-test-to-syntax-types test))
82       (setq *edict-tests* (append *edict-tests* (list test))))))
83
84 (defun get-edict-test (name)
85   (if (symbolp name)
86       (setq name (symbol-name name)))
87   (catch 'found-it
88     (dolist (test *edict-tests*)
89       (if (equal (edict-test-word test) name)
90           (throw 'found-it test)))))
91
92 (defmacro deftest (case &optional fromto should-have should-not-have not-self)
93   (` (define-edict-test '(, case) '(, (first fromto)) '(, (second fromto))
94        '(, should-have) '(, should-not-have) '(, not-self))))
95
96 (defun define-edict-test (name from to should-have should-not-have
97                                &optional not-self)
98   (if (symbolp name)
99       (setq name (symbol-name name)))
100   (unless (listp from)
101     (setq from (list from)))
102   (unless (listp to)
103     (setq to (list to)))
104   (unless from
105     (setq from '(\e$BF|K\8l\e(B)))
106   (let ((f (function (lambda (x)
107                        (if (symbolp x)
108                            (symbol-name x)
109                          x)))))
110     (setq should-have (mapcar f should-have))
111     (setq should-not-have (mapcar f should-not-have))
112     (or not-self (member name should-have)
113         (push name should-have))
114     (add-edict-test (make-edict-test :word name
115                                      :should-have should-have
116                                      :should-not-have should-not-have
117                                      :from-syntax-types from
118                                      :to-syntax-types to)))
119   name)
120
121 ;;; This should be in emacs, but it isn't.
122 ;;; (Borrowed from ilisp.el, where I inherited it accidentally).
123
124 (defun edict-del (item list &optional test)
125   "Delete ITEM from LIST using TEST comparison and return the result.
126 Default test is equal."
127   (let ((test (or test (function equal)))
128         (element list)
129         (prev nil)
130         (done nil))
131     (while (and element (not done))
132       (if (funcall test item (car element))
133           (progn
134             (setq done t)
135             (if prev
136                 (rplacd prev (cdr element))
137                 (setq list (cdr list))))
138           (setq prev element
139                 element (cdr element))))
140     list))
141
142
143 (defun edict-test (test)
144   (if (or (symbolp test) (stringp test))
145       (setq test (get-edict-test test)))
146   ;; Cleaning up the kanji shouldn't break anything;
147   ;; give it a chance to do so if it's buggy.
148   (let* ((name (edict-test-word test))
149          (word (edict-clean-up-kanji name))
150          (from-syntax-types (edict-test-from-syntax-types test))
151          (to-syntax-types (edict-test-to-syntax-types test))
152          (should-have (edict-test-should-have test))
153          (should-not-have (edict-test-should-not-have test)))
154     (let* ((expansion (edict-expand-string-syntaxes word () () from-syntax-types))
155            (save-expansion expansion)
156            (failed nil))
157       (dolist (sh should-have)
158         (if (member sh expansion)
159             (setq expansion (edict-del sh expansion (function equal)))
160           (progn 
161             (princ (format ";%s: did not produce %s - %S\n" name sh save-expansion))
162             (setq failed t))))
163       (dolist (case should-not-have)
164         (and (member case expansion)
165              (progn
166                (princ (format ";%s: Should not have %s as expansion.\n"
167                               name case))
168                (setq failed t)
169                (setq expansion (edict-del sh expansion (function equal))))))
170       (dolist (bad expansion)
171         (princ (format ";%s: Unexpected expansion: %s\n" name bad))
172         (setq failed t))
173       (or failed
174           (princ (format ";%s: OK\n" name)))
175       (not failed))))
176
177 (defun edict-perform-tests ()
178   (interactive)
179   (let ((test-buffer (get-buffer-create "*EDICT-TESTS*"))
180         (failures 0)
181         (first-failure nil))
182     (set-buffer test-buffer)
183     (set-window-buffer (selected-window) test-buffer)
184     (delete-region (point-min) (point-max))
185     (let ((standard-output test-buffer))
186       (dolist (test *edict-tests*)
187         (let ((msg-point (point)))
188           (cond ((not (edict-test test))
189                  (incf failures)
190                  (or first-failure (setq first-failure msg-point))))
191           (sit-for 0))))
192     (cond ((= failures 0)
193            (message "Done.  All Tests OK."))
194           ((= failures 1)
195            (message "1 test failed."))
196           (t (message (format "%d tests failed." failures))))
197     (goto-char (or first-failure (point-min)))))
198
199 (defun edict-run-test (arg)
200   "Execute the test that point is in or before.
201 Print value in minibuffer.
202 With argument, insert value in current buffer after the defun.
203 With argument >= 16 (i.e. c-U c-U), single-step through the expansion process."
204   (interactive "P")
205   (save-excursion
206     (end-of-defun)
207     (let ((end (point))
208           (*edict-expand-string-trace* (and arg (> (prefix-numeric-value arg) 4))))
209       (beginning-of-defun)
210       (let* ((test-form (read (current-buffer)))
211              (test-name (second test-form))
212              (test))
213         (eval test-form)
214         (setq test (get-edict-test test-name))
215         (forward-line 1)
216         (while (looking-at (concat ";" (symbol-name test-name)
217                                    ": \\(Unexpected expansion: \\|did not produce \\|OK$\\)"))
218           (let ((start (point)))
219             (forward-line 1)
220             (delete-region start (point))))
221         (let ((standard-output (if arg (current-buffer) standard-output)))
222           (edict-test test)))))
223   t)
224
225 ;(global-set-key "\e_" 'edict-run-test)
226
227 ;;; **** NOTE WELL ****
228 ;;; The proper test results here are not necessarily valid words.
229 ;;; These are words which are MORPHOLOGICALLY correct.  That is,
230 ;;; this reverse-chains on the possible rules to produce a given
231 ;;; word, generally only one or two of which would actually be
232 ;;; correct.
233
234 ;;; Also note that these are regression tests.  No distinction is being
235 ;;; made between results which are "correct" and results which are
236 ;;; "acceptable".  In general, we accept spurious expansions if they
237 ;;; lead to including desirable results in other cases.  Modifying the
238 ;;; rule set may either result in eliminating spurious expansions (resulting
239 ;;; in missing expansions from the tests) or adding new spurious expansions.
240 ;;; In case of problems from these tests, the offending test should be single-stepped
241 ;;; (with c-u c-u m-X edict-run-test), and the reasons for the expansion should be
242 ;;; evaluated.  If, after careful consideration, the modified result is regarded
243 ;;; as correct, the test should be modified accordingly.  Otherwise, the bug should
244 ;;; be fixed.
245
246 ;;; Be careful.  Regression tests are good for considering all the effects of
247 ;;; a change, but they do not themselves determine the correctness of a change.
248 ;;; When the regression tests determine that something has changed, it is up
249 ;;; to YOU to be careful and determine the correct result.
250
251 (deftest "\e$BGc$&\e(B "
252   ()
253   (\e$BGc$&\e(B)
254   ()
255   :not-self)
256
257 (deftest "
258 \e$B!d!!Gc!t\e(B#>!\e$B!*!'\e(B:\e$B$&\e(B     "
259   ()
260   (\e$BGc$&\e(B)
261   ()
262   :not-self)
263
264 ;;; The basics: \e$B8^CJF0;l\e(B
265 (deftest \e$BGc$&\e(B
266   ())
267 (deftest \e$B9T$/\e(B
268   ()
269   (\e$B9T$$\e(B))                         ;Looks like it could be an adverb
270 ;\e$B9T$/\e(B: OK
271 (deftest \e$B1K$0\e(B
272   ())
273 (deftest \e$BOC$9\e(B
274   ())
275 (deftest \e$BBT$D\e(B
276   ())
277 (deftest \e$B;`$L\e(B
278   ())
279 (deftest \e$B8F$V\e(B
280   ())
281 (deftest \e$BFI$`\e(B
282   ())
283 (deftest \e$BJ,$+$k\e(B
284   ())
285 (deftest \e$B@.$k\e(B
286   ())
287 ;;; \e$B0lCJF0;l\e(B
288 (deftest \e$B@8$-$k\e(B
289   ())
290 (deftest \e$B8+$k\e(B
291   ())
292
293 ;;; Distal style
294 ;;; These all produce the improbable but possible result of removing only the
295 ;;; masu and adding \e$B$k\e(B as if it were a \e$B0lCJF0;l\e(B, since the result of that situation
296 ;;; would look the same.
297
298 (deftest \e$BGc$$$^$9\e(B
299   ()
300   (\e$BGc$&\e(B \e$BGc$$$k\e(B))
301 (deftest \e$BCV$-$^$9\e(B
302   ()
303   (\e$BCV$/\e(B \e$BCV$-$k\e(B))
304 ;\e$BCV$-$^$9\e(B: OK
305 (deftest \e$B1K$.$^$9\e(B
306   ()
307   (\e$B1K$0\e(B \e$B1K$.$k\e(B))
308 (deftest \e$BOC$7$^$9\e(B
309   ()
310   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$9$k\e(B \e$BOC\e(B))
311 (deftest \e$B;}$A$^$9\e(B
312   ()
313   (\e$B;}$D\e(B \e$B;}$A$k\e(B))
314 (deftest \e$B;`$K$^$9\e(B
315   ()
316   (\e$B;`$L\e(B \e$B;`$K$k\e(B))
317 (deftest \e$B8F$S$^$9\e(B
318   ()
319   (\e$B8F$V\e(B \e$B8F$S$k\e(B))
320 (deftest \e$BFI$_$^$9\e(B
321   ()
322   (\e$BFI$`\e(B \e$BFI$_$k\e(B))
323 (deftest \e$BJ,$+$j$^$9\e(B
324   ()
325   (\e$BJ,$+$k\e(B \e$BJ,$+$j$k\e(B))
326 (deftest \e$B@.$j$^$9\e(B
327   ()
328   (\e$B@.$k\e(B \e$B@.$j$k\e(B))
329 (deftest \e$B@8$-$^$9\e(B
330   ()
331   (\e$B@8$-$k\e(B \e$B@8$/\e(B))
332 ;\e$B@8$-$^$9\e(B: OK
333 (deftest \e$B8+$^$9\e(B
334   ()
335   (\e$B8+$k\e(B))
336
337
338 ;;; Irregulars
339
340 (deftest \e$BMh$^$9\e(B
341   ()
342   (\e$BMh$k\e(B))
343 (deftest \e$B$-$^$9\e(B
344   ()
345   (\e$B$/$k\e(B \e$B$-$k\e(B))
346 (deftest \e$B$7$^$9\e(B
347   ()
348   (\e$B$9$k\e(B \e$B$7$k\e(B))
349
350 (deftest \e$BGc$$$^$;$s\e(B
351   ()
352   (\e$BGc$&\e(B \e$BGc$$$k\e(B))
353 (deftest \e$BCV$-$^$;$s\e(B
354   ()
355   (\e$BCV$/\e(B \e$BCV$-$k\e(B))
356 ;\e$BCV$-$^$;$s\e(B: OK
357 (deftest \e$B1K$.$^$;$s\e(B
358   ()
359   (\e$B1K$0\e(B \e$B1K$.$k\e(B))
360 (deftest \e$BOC$7$^$;$s\e(B
361   ()
362   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$9$k\e(B \e$BOC\e(B))
363 (deftest \e$B;}$A$^$;$s\e(B
364   ()
365   (\e$B;}$D\e(B \e$B;}$A$k\e(B))
366 (deftest \e$B;`$K$^$;$s\e(B
367   ()
368   (\e$B;`$L\e(B \e$B;`$K$k\e(B))
369 (deftest \e$B8F$S$^$;$s\e(B
370   ()
371   (\e$B8F$V\e(B \e$B8F$S$k\e(B))
372 (deftest \e$BFI$_$^$;$s\e(B
373   ()
374   (\e$BFI$`\e(B \e$BFI$_$k\e(B))
375 (deftest \e$BJ,$+$j$^$;$s\e(B
376   ()
377   (\e$BJ,$+$k\e(B \e$BJ,$+$j$k\e(B))
378 (deftest \e$B@.$j$^$;$s\e(B
379   ()
380   (\e$B@.$k\e(B \e$B@.$j$k\e(B))
381 (deftest \e$B@8$-$^$;$s\e(B
382   ()
383   (\e$B@8$-$k\e(B \e$B@8$/\e(B))
384 ;\e$B@8$-$^$;$s\e(B: OK
385 (deftest \e$B8+$^$;$s\e(B
386   ()
387   (\e$B8+$k\e(B))
388
389
390 ;;; Irregulars
391
392 (deftest \e$BMh$^$;$s\e(B
393   ()
394   (\e$BMh$k\e(B))
395 (deftest \e$B$-$^$;$s\e(B
396   ()
397   (\e$B$/$k\e(B \e$B$-$k\e(B))
398 (deftest \e$B$7$^$;$s\e(B
399   ()
400   (\e$B$9$k\e(B \e$B$7$k\e(B))
401
402
403 ;;; Past tense
404
405 (deftest \e$BGc$C$?\e(B
406   ()
407   (\e$BGc$&\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
408 (deftest \e$BCV$$$?\e(B
409   ()
410   (\e$BCV$/\e(B \e$BCV$$$k\e(B))
411 ;\e$BCV$$$?\e(B: OK
412 (deftest \e$B9T$C$?\e(B
413                                         ();iku is irregular It looks like a \e$B$k\e(B/\e$B$D\e(B/\e$B$&\e(B.
414   (\e$B9T$/\e(B \e$B9T$$\e(B \e$B9T$&\e(B \e$B9T$D\e(B \e$B9T$k\e(B))
415 ;\e$B9T$C$?\e(B: OK
416 (deftest \e$BOC$7$?\e(B
417   ()
418   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$9$k\e(B \e$BOC\e(B))
419 ;\e$BOC$7$?\e(B: OK
420 (deftest \e$B;}$C$?\e(B
421   ()
422   (\e$B;}$D\e(B \e$B;}$&\e(B \e$B;}$k\e(B))
423 (deftest \e$B;`$s$?\e(B
424                                         ();Don't mis-interpret
425   ()
426   (\e$B;`$L\e(B))
427 (deftest \e$B;`$s$@\e(B
428   ()
429   (\e$B;`$L\e(B \e$B;`$V\e(B \e$B;`$`\e(B \e$B;`$s\e(B))
430 ;\e$B;`$s$@\e(B: OK
431 (deftest \e$B8F$s$@\e(B
432   ()
433   (\e$B8F$V\e(B \e$B8F$`\e(B \e$B8F$L\e(B \e$B8F$s\e(B))
434 ;\e$B8F$s$@\e(B: OK
435 (deftest \e$BFI$s$@\e(B
436   ()
437   (\e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s\e(B))
438 ;\e$BFI$s$@\e(B: OK
439 (deftest \e$BJ,$+$C$?\e(B
440   ()
441   (\e$BJ,$+$k\e(B \e$BJ,$$\e(B \e$BJ,$+$&\e(B \e$BJ,$+$D\e(B))
442 ;\e$BJ,$+$C$?\e(B: OK
443 (deftest \e$B@.$C$?\e(B
444   ()
445   (\e$B@.$k\e(B \e$B@.$&\e(B \e$B@.$D\e(B))
446 ;;; \e$B0lCJF0;l\e(B
447 (deftest \e$B@8$-$?\e(B
448   ()
449   (\e$B@8$-$k\e(B \e$B@8$/$k\e(B))
450 ;\e$B@8$-$?\e(B: OK
451 (deftest \e$B8+$?\e(B
452   ()
453   (\e$B8+$k\e(B))
454
455 ;;; Gerund
456 ;;; These all also map to \e$B$D\e(B, because of the plan imperative form.
457 ;;; This seems surprising, if you're not thinking about it.
458
459 (deftest \e$BGc$C$F\e(B
460   ()
461   (\e$BGc$&\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$D\e(B \e$BGc$C$F$k\e(B))
462 ;\e$BGc$C$F\e(B: OK
463 (deftest \e$BCV$$$F\e(B
464   ()
465   (\e$BCV$/\e(B \e$BCV$$$k\e(B \e$BCV$$$D\e(B \e$BCV$$$F$k\e(B))
466 ;\e$BCV$$$F\e(B: OK
467 (deftest \e$B9T$C$F\e(B
468                                         ();iku is irregular It looks like a \e$B$k\e(B/\e$B$D\e(B/\e$B$&\e(B.
469   (\e$B9T$/\e(B \e$B9T$$\e(B \e$B9T$&\e(B \e$B9T$D\e(B \e$B9T$k\e(B \e$B9T$C$D\e(B \e$B9T$C$F$k\e(B))
470 ;\e$B9T$C$F\e(B: OK
471 (deftest \e$BOC$7$F\e(B
472   ()
473   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$7$D\e(B \e$BOC$9$k\e(B \e$BOC\e(B \e$BOC$7$F$k\e(B))
474 ;\e$BOC$7$F\e(B: OK
475 (deftest \e$B;}$C$F\e(B
476   ()
477   (\e$B;}$D\e(B \e$B;}$&\e(B \e$B;}$k\e(B \e$B;}$C$D\e(B \e$B;}$C$F$k\e(B))
478 ;\e$B;}$C$F\e(B: OK
479 (deftest \e$B;`$s$F\e(B
480                                         ();Don't mis-interpret
481   (\e$B;`$s$D\e(B \e$B;`$s$F$k\e(B)
482   (\e$B;`$L\e(B))
483 ;\e$B;`$s$F\e(B: OK
484 (deftest \e$B;`$s$G\e(B
485   ()
486   (\e$B;`$L\e(B \e$B;`$V\e(B \e$B;`$`\e(B))
487 ;\e$B;`$s$G\e(B: OK
488 (deftest \e$B8F$s$G\e(B
489   ()
490   (\e$B8F$V\e(B \e$B8F$`\e(B \e$B8F$L\e(B))
491 ;\e$B8F$s$G\e(B: OK
492 (deftest \e$BFI$s$G\e(B
493   ()
494   (\e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
495 (deftest \e$BJ,$+$C$F\e(B
496   ()
497   (\e$BJ,$+$k\e(B \e$BJ,$+$&\e(B \e$BJ,$+$D\e(B \e$BJ,$+$C$D\e(B \e$BJ,$+$C$F$k\e(B))
498 ;\e$BJ,$+$C$F\e(B: OK
499 (deftest \e$B@.$C$F\e(B
500   ()
501   (\e$B@.$k\e(B \e$B@.$&\e(B \e$B@.$D\e(B \e$B@.$C$D\e(B \e$B@.$C$F$k\e(B))
502 ;\e$B@.$C$F\e(B: OK
503 ;;; \e$B0lCJF0;l\e(B
504 (deftest \e$B@8$-$F\e(B
505   ()
506   (\e$B@8$-$k\e(B \e$B@8$-$D\e(B \e$B@8$/$k\e(B \e$B@8$-$F$k\e(B))
507 ;\e$B@8$-$F\e(B: OK
508 (deftest \e$B8+$F\e(B
509   ()
510   (\e$B8+$k\e(B \e$B8+$D\e(B \e$B8+$F$k\e(B))
511 ;\e$B8+$F\e(B: OK
512
513 ;;; Potential
514
515 (deftest \e$BGc$($k\e(B
516   ()
517   (\e$BGc$&\e(B))
518 ;\e$BGc$($k\e(B: OK
519
520 (deftest \e$B?)$Y$i$l$k\e(B
521   ()
522   (\e$B?)$Y$k\e(B \e$B?)$Y$i$k\e(B \e$B?)$V\e(B))
523 ;\e$B?)$Y$i$l$k\e(B: OK
524
525 (deftest \e$B8F$Y$k\e(B
526   ()
527   (\e$B8F$V\e(B))
528 ;\e$B8F$Y$k\e(B: OK
529
530 ;;; Passive
531 ;;; These also look like they could be \e$B0lCJ$I$&$7\e(B potentials.
532
533 (deftest \e$BGc$o$l$k\e(B
534   ()
535   (\e$BGc$&\e(B \e$BGc$o$k\e(B))
536 ;\e$BGc$o$l$k\e(B: OK
537
538 (deftest \e$BCV$+$l$k\e(B
539   ()
540   (\e$BCV$/\e(B \e$BCV$+$k\e(B))
541 ;\e$BCV$+$l$k\e(B: OK
542
543 (deftest \e$B1K$,$l$k\e(B
544   ()
545   (\e$B1K$0\e(B \e$B1K$,$k\e(B))
546 (deftest \e$BOC$5$l$k\e(B
547   ()
548   (\e$BOC$9\e(B \e$BOC$9$k\e(B \e$BOC$5$k\e(B \e$BOC\e(B))              ;Because of irregular \e$B$9$k\e(B
549 (deftest \e$BBT$?$l$k\e(B
550   ()
551   (\e$BBT$D\e(B \e$BBT$?$k\e(B))
552 (deftest \e$B;`$J$l$k\e(B
553   ()
554   (\e$B;`$L\e(B \e$B;`$J$k\e(B))
555 (deftest \e$BFI$^$l$k\e(B
556   ()
557   (\e$BFI$`\e(B \e$BFI$^$k\e(B))
558 ;\e$BFI$^$l$k\e(B: OK
559 (deftest \e$B8F$P$l$k\e(B
560   ()
561   (\e$B8F$V\e(B \e$B8F$P$k\e(B))
562 (deftest \e$B8+$i$l$k\e(B
563   ()
564   (\e$B8+$k\e(B \e$B8+$i$k\e(B))
565
566 ;;; Irregulars
567 (deftest \e$BMh$i$l$k\e(B
568   ()
569   (\e$BMh$k\e(B \e$BMh$i$k\e(B))
570 (deftest \e$B$5$l$k\e(B
571   ()
572   (\e$B$9$k\e(B \e$B$5$k\e(B \e$B$9\e(B))                     ;\e$B$9\e(B because of the regular rule.
573
574 ;;; Causitive
575
576 (deftest \e$BGc$o$;$k\e(B
577   ()
578   (\e$BGc$&\e(B \e$BGc$o$9\e(B))
579 ;\e$BGc$o$;$k\e(B: OK
580 (deftest \e$BCV$+$;$k\e(B
581   ()
582   (\e$BCV$/\e(B \e$BCV$+$9\e(B))
583 ;\e$BCV$+$;$k\e(B: OK
584 (deftest \e$B1K$,$;$k\e(B
585   ()
586   (\e$B1K$0\e(B \e$B1K$,$9\e(B))
587 ;\e$B1K$,$;$k\e(B: OK
588 (deftest \e$BOC$5$;$k\e(B
589   ()
590   (\e$BOC$k\e(B \e$BOC$9\e(B \e$BOC$9$k\e(B \e$BOC$5$9\e(B \e$BOC\e(B))           ;Because of irregular \e$B$9$k\e(B
591 ;\e$BOC$5$;$k\e(B: OK
592 (deftest \e$BBT$?$;$k\e(B
593   ()
594   (\e$BBT$D\e(B \e$BBT$?$9\e(B))
595 ;\e$BBT$?$;$k\e(B: OK
596 (deftest \e$B;`$J$;$k\e(B
597   ()
598   (\e$B;`$L\e(B \e$B;`$J$9\e(B))
599 ;\e$B;`$J$;$k\e(B: OK
600 (deftest \e$BFI$^$;$k\e(B
601   ()
602   (\e$BFI$`\e(B \e$BFI$^$9\e(B))
603 ;\e$BFI$^$;$k\e(B: OK
604 (deftest \e$B8F$P$;$k\e(B
605   ()
606   (\e$B8F$V\e(B \e$B8F$P$9\e(B))
607 ;\e$B8F$P$;$k\e(B: OK
608 (deftest \e$B8+$5$;$k\e(B
609   ()
610   (\e$B8+$k\e(B \e$B8+$9\e(B \e$B8+$9$k\e(B \e$B8+$5$9\e(B \e$B8+\e(B))           ;Because of regular & irregular rules
611 ;\e$B8+$5$;$k\e(B: OK
612
613 ;;; Irregulars
614 (deftest \e$BMh$5$;$k\e(B
615   ()
616   (\e$BMh$k\e(B \e$BMh$9\e(B \e$BMh$9$k\e(B \e$BMh$5$9\e(B \e$BMh\e(B))           ;because of regular & irregular rules.
617 ;\e$BMh$5$;$k\e(B: OK
618 (deftest \e$B$5$;$k\e(B
619   ()
620   (\e$B$9$k\e(B \e$B$5$9\e(B \e$B$9\e(B))                     ;\e$B$9\e(B because of the regular rule.
621 ;\e$B$5$;$k\e(B: OK
622
623 ;;; Conditional
624
625 (deftest \e$BGc$($P\e(B
626   ()
627   (\e$BGc$&\e(B))
628 (deftest \e$BCV$1$P\e(B
629   ()
630   (\e$BCV$/\e(B))
631 (deftest \e$B1K$2$P\e(B
632   ()
633   (\e$B1K$0\e(B))
634 (deftest \e$BOC$;$P\e(B
635   ()
636   (\e$BOC$9\e(B))
637 (deftest \e$BBT$F$P\e(B
638   ()
639   (\e$BBT$D\e(B))
640 (deftest \e$B;`$M$P\e(B
641   ()
642   (\e$B;`$L\e(B))
643 (deftest \e$BFI$a$P\e(B
644   ()
645   (\e$BFI$`\e(B))
646 (deftest \e$B8F$Y$P\e(B
647   ()
648   (\e$B8F$V\e(B))
649 (deftest \e$B8+$l$P\e(B
650   ()
651   (\e$B8+$k\e(B))
652
653 ;;; \e$B$?$i\e(B conditional form
654
655 (deftest \e$BGc$C$?$i\e(B
656   ()
657   (\e$BGc$&\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
658 (deftest \e$BCV$$$?$i\e(B
659   ()
660   (\e$BCV$/\e(B \e$BCV$$$k\e(B))
661 (deftest \e$B9T$C$?$i\e(B
662                                         ();iku is irregular It looks like a \e$B$k\e(B/\e$B$D\e(B/\e$B$&\e(B.
663   (\e$B9T$/\e(B \e$B9T$$\e(B \e$B9T$&\e(B \e$B9T$D\e(B \e$B9T$k\e(B))
664 (deftest \e$BOC$7$?$i\e(B
665   ()
666   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$9$k\e(B \e$BOC\e(B))
667 ;\e$BOC$7$?$i\e(B: OK
668 (deftest \e$B;}$C$?$i\e(B
669   ()
670   (\e$B;}$D\e(B \e$B;}$&\e(B \e$B;}$k\e(B))
671 (deftest \e$B;`$s$?$i\e(B
672                                         ();Don't mis-interpret
673   ()
674   (\e$B;`$L\e(B))
675 (deftest \e$B;`$s$@$i\e(B
676   ()
677   (\e$B;`$L\e(B \e$B;`$V\e(B \e$B;`$`\e(B))
678 (deftest \e$B8F$s$@$i\e(B
679   ()
680   (\e$B8F$V\e(B \e$B8F$`\e(B \e$B8F$L\e(B))
681 (deftest \e$BFI$s$@$i\e(B
682   ()
683   (\e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
684 (deftest \e$BJ,$+$C$?$i\e(B
685   ()
686   (\e$BJ,$+$k\e(B \e$BJ,$+$&\e(B \e$BJ,$+$D\e(B))
687 (deftest \e$B@.$C$?$i\e(B
688   ()
689   (\e$B@.$k\e(B \e$B@.$&\e(B \e$B@.$D\e(B))
690 ;;; \e$B0lCJF0;l\e(B
691 (deftest \e$B@8$-$?$i\e(B
692   ()
693   (\e$B@8$-$k\e(B \e$B@8$/$k\e(B))
694 ;\e$B@8$-$?$i\e(B: OK
695 (deftest \e$B8+$?$i\e(B
696   ()
697   (\e$B8+$k\e(B))
698
699 ;;; Plain negative
700
701 (deftest \e$BGc$o$J$$\e(B
702   ()
703   (\e$BGc$&\e(B \e$BGc$o$J$$\e(B \e$BGc$o$J$&\e(B \e$BGc$o$J$$$k\e(B))
704 ;\e$BGc$o$J$$\e(B: OK
705 (deftest \e$BCV$+$J$$\e(B
706   ()
707   (\e$BCV$/\e(B \e$BCV$+$J$$\e(B \e$BCV$+$J$&\e(B \e$BCV$+$J$$$k\e(B))
708 ;\e$BCV$+$J$$\e(B: OK
709 (deftest \e$B1K$,$J$$\e(B
710   ()
711   (\e$B1K$0\e(B \e$B1K$,$J$$$k\e(B \e$B1K$,$J$&\e(B))
712 ;\e$B1K$,$J$$\e(B: OK
713 (deftest \e$BOC$5$J$$\e(B
714   ()
715   (\e$BOC$9\e(B \e$BOC$5$J$$$k\e(B \e$BOC$5$J$&\e(B))
716 ;\e$BOC$5$J$$\e(B: OK
717 (deftest \e$BBT$?$J$$\e(B
718   ()
719   (\e$BBT$D\e(B \e$BBT$?$J$$$k\e(B \e$BBT$?$J$&\e(B))
720 ;\e$BBT$?$J$$\e(B: OK
721 (deftest \e$B;`$J$J$$\e(B
722   ()
723   (\e$B;`$L\e(B \e$B;`$J$J$$$k\e(B \e$B;`$J$J$&\e(B))
724 ;\e$B;`$J$J$$\e(B: OK
725 (deftest \e$BFI$^$J$$\e(B
726   ()
727   (\e$BFI$`\e(B \e$BFI$^$J$$$k\e(B \e$BFI$^$J$&\e(B))
728 ;\e$BFI$^$J$$\e(B: OK
729 (deftest \e$B8F$P$J$$\e(B
730   ()
731   (\e$B8F$V\e(B \e$B8F$P$J$$$k\e(B \e$B8F$P$J$&\e(B))
732 ;\e$B8F$P$J$$\e(B: OK
733 (deftest \e$B8+$J$$\e(B
734   ()
735   (\e$B8+$k\e(B \e$B8+$J$$$k\e(B \e$B8+$J$&\e(B))
736 ;\e$B8+$J$$\e(B: OK
737
738 ;;; Irregulars
739 (deftest \e$BMh$J$$\e(B
740   ()
741   (\e$BMh$k\e(B \e$BMh$J$$$k\e(B \e$BMh$J$&\e(B))
742 ;\e$BMh$J$$\e(B: OK
743 (deftest \e$B$7$J$$\e(B
744   ()
745   (\e$B$9$k\e(B \e$B$7$k\e(B \e$B$7$J$$$k\e(B \e$B$7$J$&\e(B))          ;\e$B$7$k\e(B because of regular rules.
746 ;\e$B$7$J$$\e(B: OK
747 (deftest \e$B$J$$\e(B
748   ()
749   (\e$B$"$k\e(B \e$B$J$$$k\e(B \e$B$J$&\e(B))
750 ;\e$B$J$$\e(B: OK
751
752 ;;; \e$B$:\e(B negatives
753
754 (deftest \e$BGc$o$:\e(B
755   ()
756   (\e$BGc$&\e(B))
757 ;\e$BGc$o$:\e(B: OK
758 (deftest \e$BCV$+$:\e(B
759   ()
760   (\e$BCV$/\e(B))
761 ;\e$BCV$+$:\e(B: OK
762 (deftest \e$B1K$,$:\e(B
763   ()
764   (\e$B1K$0\e(B))
765 ;\e$B1K$,$:\e(B: OK
766 (deftest \e$BOC$5$:\e(B
767   ()
768   (\e$BOC$9\e(B))
769 ;\e$BOC$5$:\e(B: OK
770 (deftest \e$BBT$?$:\e(B
771   ()
772   (\e$BBT$D\e(B))
773 ;\e$BBT$?$:\e(B: OK
774 (deftest \e$B;`$J$:\e(B
775   ()
776   (\e$B;`$L\e(B))
777 ;\e$B;`$J$:\e(B: OK
778 (deftest \e$BFI$^$:\e(B
779   ()
780   (\e$BFI$`\e(B))
781 ;\e$BFI$^$:\e(B: OK
782 (deftest \e$B8F$P$:\e(B
783   ()
784   (\e$B8F$V\e(B))
785 ;\e$B8F$P$:\e(B: OK
786 (deftest \e$B8+$:\e(B
787   ()
788   (\e$B8+$k\e(B))
789 ;\e$B8+$:\e(B: OK
790
791 ;;; Irregulars
792 (deftest \e$BMh$:\e(B
793   ()
794   (\e$BMh$k\e(B))
795 ;\e$BMh$:\e(B: OK
796 (deftest \e$B$;$:\e(B
797   ()
798   (\e$B$9$k\e(B \e$B$;$k\e(B))                              ;\e$B$;$k\e(B because of regular rules.
799 ;\e$B$;$:\e(B: OK
800
801
802 ;;; Plain command form
803
804 (deftest \e$BGc$(\e(B
805   ()
806   (\e$BGc$&\e(B \e$BGc$($k\e(B))
807
808 (deftest \e$BCV$1\e(B
809   ()
810   (\e$BCV$/\e(B \e$BCV$1$k\e(B))
811 ;\e$BCV$1\e(B: OK
812 (deftest \e$B1K$2\e(B
813   ()
814   (\e$B1K$0\e(B \e$B1K$2$k\e(B))
815 (deftest \e$BOC$;\e(B
816   ()
817   (\e$BOC$9\e(B \e$BOC$;$k\e(B))
818 (deftest \e$BBT$F\e(B
819   ()
820   (\e$BBT$D\e(B \e$BBT$F\e(B \e$BBT$k\e(B \e$BBT$F$k\e(B))
821 ;\e$BBT$F\e(B: OK
822 (deftest \e$B;`$M\e(B
823   ()
824   (\e$B;`$L\e(B \e$B;`$M$k\e(B))
825 (deftest \e$BFI$a\e(B
826   ()
827   (\e$BFI$`\e(B \e$BFI$a$k\e(B))
828 (deftest \e$B8F$Y\e(B
829   ()
830   (\e$B8F$V\e(B \e$B8F$Y$k\e(B))
831 (deftest \e$B8+$m\e(B
832   ()
833   (\e$B8+$k\e(B))
834
835 ;;; Irregulars
836 (deftest \e$BMh$$\e(B
837   ()
838   (\e$BMh$k\e(B \e$BMh$$$k\e(B \e$BMh$&\e(B))
839 ;\e$BMh$$\e(B: OK
840 (deftest \e$B$3$$\e(B
841   ()
842   (\e$B$/$k\e(B \e$B$3$$$k\e(B \e$B$3$&\e(B))
843 ;\e$B$3$$\e(B: OK
844 (deftest \e$B$7$m\e(B
845   ()
846   (\e$B$9$k\e(B \e$B$7$k\e(B))                              ;\e$B$7$k\e(B because of regular rules.
847
848 ;;; The plain desideratives
849
850 (deftest \e$BGc$$$?$$\e(B
851   ()
852   (\e$BGc$&\e(B \e$BGc$$$k\e(B \e$BGc$$$?$$$k\e(B \e$BGc$$$?$&\e(B))
853 ;\e$BGc$$$?$$\e(B: OK
854 (deftest \e$BCV$-$?$$\e(B
855   ()
856   (\e$BCV$/\e(B \e$BCV$-$k\e(B \e$BCV$-$?$$$k\e(B \e$BCV$-$?$&\e(B))
857 ;\e$BCV$-$?$$\e(B: OK
858 (deftest \e$B1K$.$?$$\e(B
859   ()
860   (\e$B1K$0\e(B \e$B1K$.$k\e(B \e$B1K$.$?$$$k\e(B \e$B1K$.$?$&\e(B))
861 ;\e$B1K$.$?$$\e(B: OK
862 (deftest \e$BOC$7$?$$\e(B
863   ()
864   (\e$BOC$9\e(B \e$BOC$7$k\e(B \e$BOC$7$?$$$k\e(B \e$BOC$7$?$&\e(B))
865 ;\e$BOC$7$?$$\e(B: OK
866 (deftest \e$B;}$A$?$$\e(B
867   ()
868   (\e$B;}$D\e(B \e$B;}$A$k\e(B \e$B;}$A$?$$$k\e(B \e$B;}$A$?$&\e(B))
869 ;\e$B;}$A$?$$\e(B: OK
870 (deftest \e$B;`$K$?$$\e(B
871   ()
872   (\e$B;`$L\e(B \e$B;`$K$k\e(B \e$B;`$K$?$$$k\e(B \e$B;`$K$?$&\e(B))
873 ;\e$B;`$K$?$$\e(B: OK
874 (deftest \e$B8F$S$?$$\e(B
875   ()
876   (\e$B8F$V\e(B \e$B8F$S$k\e(B \e$B8F$S$?$$$k\e(B \e$B8F$S$?$&\e(B))
877 ;\e$B8F$S$?$$\e(B: OK
878 (deftest \e$BFI$_$?$$\e(B
879   ()
880   (\e$BFI$`\e(B \e$BFI$_$k\e(B \e$BFI$_$?$$$k\e(B \e$BFI$_$?$&\e(B))
881 ;\e$BFI$_$?$$\e(B: OK
882 (deftest \e$BJ,$+$j$?$$\e(B
883   ()
884   (\e$BJ,$+$k\e(B \e$BJ,$+$j$k\e(B \e$BJ,$+$j$?$$$k\e(B \e$BJ,$+$j$?$&\e(B))
885 ;\e$BJ,$+$j$?$$\e(B: OK
886 (deftest \e$B@.$j$?$$\e(B
887   ()
888   (\e$B@.$k\e(B \e$B@.$j$k\e(B \e$B@.$j$?$$$k\e(B \e$B@.$j$?$&\e(B))
889 ;\e$B@.$j$?$$\e(B: OK
890 (deftest \e$B@8$-$?$$\e(B
891   ()
892   (\e$B@8$-$k\e(B \e$B@8$/\e(B \e$B@8$-$?$$$k\e(B \e$B@8$-$?$&\e(B))
893 ;\e$B@8$-$?$$\e(B: OK
894 (deftest \e$B8+$?$$\e(B
895   ()
896   (\e$B8+$k\e(B \e$B8+$?$$$k\e(B \e$B8+$?$&\e(B))
897 ;\e$B8+$?$$\e(B: OK
898
899
900 ;;; Irregulars
901
902 (deftest \e$BMh$?$$\e(B
903   ()
904   (\e$BMh$k\e(B \e$BMh$?$$$k\e(B \e$BMh$?$&\e(B))
905 ;\e$BMh$?$$\e(B: OK
906 (deftest \e$B$-$?$$\e(B
907   ()
908   (\e$B$/$k\e(B \e$B$-$k\e(B \e$B$-$?$$$k\e(B \e$B$-$?$&\e(B))
909 ;\e$B$-$?$$\e(B: OK
910 (deftest \e$B$7$?$$\e(B
911   ()
912   (\e$B$9$k\e(B \e$B$7$k\e(B \e$B$7$?$$$k\e(B \e$B$7$?$&\e(B))
913 ;\e$B$7$?$$\e(B: OK
914
915 (deftest \e$BGc$$$?$,$k\e(B
916   ()
917   (\e$BGc$&\e(B \e$BGc$$$k\e(B))
918 (deftest \e$BCV$-$?$,$k\e(B
919   ()
920   (\e$BCV$/\e(B \e$BCV$$\e(B \e$BCV$-$k\e(B))
921 (deftest \e$B1K$.$?$,$k\e(B
922   ()
923   (\e$B1K$0\e(B \e$B1K$.$k\e(B))
924 (deftest \e$BOC$7$?$,$k\e(B
925   ()
926   (\e$BOC$9\e(B \e$BOC$7$k\e(B))
927 (deftest \e$B;}$A$?$,$k\e(B
928   ()
929   (\e$B;}$D\e(B \e$B;}$A$k\e(B))
930 (deftest \e$B;`$K$?$,$k\e(B
931   ()
932   (\e$B;`$L\e(B \e$B;`$K$k\e(B))
933 (deftest \e$B8F$S$?$,$k\e(B
934   ()
935   (\e$B8F$V\e(B \e$B8F$S$k\e(B))
936 (deftest \e$BFI$_$?$,$k\e(B
937   ()
938   (\e$BFI$`\e(B \e$BFI$_$k\e(B))
939 (deftest \e$BJ,$+$j$?$,$k\e(B
940   ()
941   (\e$BJ,$+$k\e(B \e$BJ,$+$j$k\e(B))
942 (deftest \e$B@.$j$?$,$k\e(B
943   ()
944   (\e$B@.$k\e(B \e$B@.$j$k\e(B))
945 (deftest \e$B@8$-$?$,$k\e(B
946   ()
947   (\e$B@8$-$k\e(B \e$B@8$/\e(B \e$B@8$$\e(B))                 ; Could be an adverb or adjective.
948 (deftest \e$B8+$?$,$k\e(B
949   ()
950   (\e$B8+$k\e(B))
951
952
953 ;;; Irregulars
954
955 (deftest \e$BMh$?$,$k\e(B
956   ()
957   (\e$BMh$k\e(B))
958 (deftest \e$B$-$?$,$k\e(B
959   ()
960   (\e$B$/$k\e(B \e$B$-$k\e(B))
961 (deftest \e$B$7$?$,$k\e(B
962   ()
963   (\e$B$9$k\e(B \e$B$7$k\e(B))
964
965
966 ;;; Here's a compound test.
967
968 (deftest \e$B9T$-$?$,$C$F$$$^$9\e(B
969   ()
970   (\e$B9T$/\e(B \e$B9T$-$?$,$C$F\e(B \e$B9T$-$?$,$k\e(B \e$B9T$-$?$,$&\e(B \e$B9T$-$?$,$D\e(B
971    \e$B9T$-$?$,$C$D\e(B \e$B9T$-$?$,$C$F$$$k\e(B \e$B9T$-$?$,$C$F$&\e(B \e$B9T$$\e(B
972    \e$B9T$-$k\e(B))
973 ;\e$B9T$-$?$,$C$F$$$^$9\e(B: OK
974
975 (deftest \e$BFI$s$G$$$k\e(B
976   ()
977   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
978 ;\e$BFI$s$G$$$k\e(B: OK
979 (deftest \e$BGc$C$F$$$k\e(B
980   ()
981   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
982 ;\e$BGc$C$F$$$k\e(B: OK
983
984 (deftest \e$BFI$s$G$$$?\e(B
985   ()
986   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$$$k\e(B \e$BFI$s$G$/\e(B))
987 ;\e$BFI$s$G$$$?\e(B: OK
988 (deftest \e$BGc$C$F$$$?\e(B
989   ()
990   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$$$k\e(B \e$BGc$C$F$/\e(B))
991 ;\e$BGc$C$F$$$?\e(B: OK
992
993 (deftest \e$BFI$s$G$$$^$9\e(B
994   ()
995   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$$$k\e(B \e$BFI$s$G$&\e(B))
996 ;\e$BFI$s$G$$$^$9\e(B: OK
997 (deftest \e$BGc$C$F$$$^$9\e(B
998   ()
999   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$$$k\e(B \e$BGc$C$F$&\e(B))
1000 ;\e$BGc$C$F$$$^$9\e(B: OK
1001
1002 (deftest \e$BFI$s$G$"$k\e(B
1003   ()
1004   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1005 ;\e$BFI$s$G$"$k\e(B: OK
1006 (deftest \e$BGc$C$F$"$k\e(B
1007   ()
1008   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1009 ;\e$BGc$C$F$"$k\e(B: OK
1010
1011 (deftest \e$BFI$s$G$*$/\e(B
1012   ()
1013   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$*$$\e(B))
1014 ;\e$BFI$s$G$*$/\e(B: OK
1015 (deftest \e$BGc$C$F$*$/\e(B
1016   ()
1017   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$*$$\e(B))
1018 ;\e$BGc$C$F$*$/\e(B: OK
1019
1020 (deftest \e$BFI$s$G$_$k\e(B
1021   ()
1022   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1023 ;\e$BFI$s$G$_$k\e(B: OK
1024 (deftest \e$BGc$C$F$_$k\e(B
1025   ()
1026   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1027 ;\e$BGc$C$F$_$k\e(B: OK
1028
1029 (deftest \e$BFI$s$G$7$^$&\e(B
1030   ()
1031   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1032 ;\e$BFI$s$G$7$^$&\e(B: OK
1033 (deftest \e$BGc$C$F$7$^$&\e(B
1034   ()
1035   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1036 ;\e$BGc$C$F$7$^$&\e(B: OK
1037
1038 (deftest \e$BFI$s$G$/$@$5$$\e(B
1039   ()
1040   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$/$@$5$$$k\e(B \e$BFI$s$G$/$@$5$&\e(B))
1041 ;\e$BFI$s$G$/$@$5$$\e(B: OK
1042 (deftest \e$BGc$C$F$/$@$5$$\e(B
1043   ()
1044   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$/$@$5$$$k\e(B \e$BGc$C$F$/$@$5$&\e(B))
1045 ;\e$BGc$C$F$/$@$5$$\e(B: OK
1046
1047 (deftest \e$BFI$s$G2<$5$$\e(B
1048   ()
1049   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G2<$5$$$k\e(B \e$BFI$s$G2<$5$&\e(B))
1050 ;\e$BFI$s$G2<$5$$\e(B: OK
1051 (deftest \e$BGc$C$F2<$5$$\e(B
1052   ()
1053   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F2<$5$$$k\e(B \e$BGc$C$F2<$5$&\e(B))
1054 ;\e$BGc$C$F2<$5$$\e(B: OK
1055
1056 (deftest \e$BFI$s$G$J$5$$\e(B
1057   ()
1058   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$J$5$$$k\e(B \e$BFI$s$G$J$5$&\e(B))
1059 ;\e$BFI$s$G$J$5$$\e(B: OK
1060 (deftest \e$BGc$C$F$J$5$$\e(B
1061   ()
1062   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$J$5$$$k\e(B \e$BGc$C$F$J$5$&\e(B))
1063 ;\e$BGc$C$F$J$5$$\e(B: OK
1064
1065 (deftest \e$BFI$s$G$$$/\e(B
1066   ()
1067   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$$$$\e(B))
1068 ;\e$BFI$s$G$$$/\e(B: OK
1069 (deftest \e$BGc$C$F$$$/\e(B
1070   ()
1071   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$$$$\e(B))
1072 ;\e$BGc$C$F$$$/\e(B: OK
1073
1074 (deftest \e$BFI$s$G$/$k\e(B
1075   ()
1076   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1077 ;\e$BFI$s$G$/$k\e(B: OK
1078 (deftest \e$BGc$C$F$/$k\e(B
1079   ()
1080   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1081 ;\e$BGc$C$F$/$k\e(B: OK
1082
1083 (deftest \e$BFI$s$G$"$2$k\e(B
1084   ()
1085   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$"$0\e(B))
1086 ;\e$BFI$s$G$"$2$k\e(B: OK
1087 (deftest \e$BGc$C$F$"$2$k\e(B
1088   ()
1089   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$"$0\e(B))
1090 ;\e$BGc$C$F$"$2$k\e(B: OK
1091
1092 (deftest \e$BFI$s$G$d$k\e(B
1093   ()
1094   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1095 ;\e$BFI$s$G$d$k\e(B: OK
1096 (deftest \e$BGc$C$F$d$k\e(B
1097   ()
1098   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1099 ;\e$BGc$C$F$d$k\e(B: OK
1100
1101 (deftest \e$BFI$s$G$b$i$&\e(B
1102   ()
1103   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1104 ;\e$BFI$s$G$b$i$&\e(B: OK
1105 (deftest \e$BGc$C$F$b$i$&\e(B
1106   ()
1107   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1108 ;\e$BGc$C$F$b$i$&\e(B: OK
1109
1110 (deftest \e$BFI$s$G$$$?$@$/\e(B
1111   ()
1112   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$$$?$@$$\e(B))
1113 ;\e$BFI$s$G$$$?$@$/\e(B: OK
1114 (deftest \e$BGc$C$F$$$?$@$/\e(B
1115   ()
1116   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$$$?$@$$\e(B))
1117 ;\e$BGc$C$F$$$?$@$/\e(B: OK
1118
1119 (deftest \e$BFI$s$G$/$l$k\e(B
1120   ()
1121   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$/$k\e(B))
1122 ;\e$BFI$s$G$/$l$k\e(B: OK
1123 (deftest \e$BGc$C$F$/$l$k\e(B
1124   ()
1125   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$/$k\e(B))
1126 ;\e$BGc$C$F$/$l$k\e(B: OK
1127
1128 (deftest \e$BFI$s$G$$$?$@$-$^$9\e(B
1129   ()
1130   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$$$?$@$/\e(B \e$BFI$s$G$$$?$@$-$k\e(B))
1131 ;\e$BFI$s$G$$$?$@$-$^$9\e(B: OK
1132 (deftest \e$BGc$C$F$$$?$@$-$^$9\e(B
1133   ()
1134   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$$$?$@$/\e(B \e$BGc$C$F$$$?$@$-$k\e(B))
1135 ;\e$BGc$C$F$$$?$@$-$^$9\e(B: OK
1136
1137 (deftest \e$BGc$C$FD:$-$^$9\e(B
1138   ()
1139   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$FD:$/\e(B \e$BGc$C$FD:$-$k\e(B))
1140 ;\e$BGc$C$FD:$-$^$9\e(B: OK
1141
1142 (deftest \e$BFI$s$G$/$@$5$$\e(B
1143   ()
1144   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G$/$@$5$&\e(B \e$BFI$s$G$/$@$5$$$k\e(B))
1145 ;\e$BFI$s$G$/$@$5$$\e(B: OK
1146 (deftest \e$BGc$C$F$/$@$5$$\e(B
1147   ()
1148   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$/$@$5$&\e(B \e$BGc$C$F$/$@$5$$$k\e(B))
1149 ;\e$BGc$C$F$/$@$5$$\e(B: OK
1150
1151 (deftest \e$BFI$s$G>e$2$k\e(B
1152   ()
1153   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G>e$0\e(B))
1154 ;\e$BFI$s$G>e$2$k\e(B: OK
1155 (deftest \e$BGc$C$F$"$2$k\e(B
1156   ()
1157   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$"$0\e(B))
1158 ;\e$BGc$C$F$"$2$k\e(B: OK
1159 (deftest \e$BFI$s$G:9$7>e$2$k\e(B
1160   ()
1161   (\e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B \e$BFI$s$G:9$7>e$0\e(B))
1162 ;\e$BFI$s$G:9$7>e$2$k\e(B: OK
1163 (deftest \e$BGc$C$F:9$7>e$2$k\e(B
1164   ()
1165   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F:9$7>e$0\e(B))
1166 ;\e$BGc$C$F:9$7>e$2$k\e(B: OK
1167
1168 (deftest \e$BGc$C$F:9$7$"$2$k\e(B
1169   ()
1170   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F:9$7$"$0\e(B))
1171 ;\e$BGc$C$F:9$7$"$2$k\e(B: OK
1172 (deftest \e$BGc$C$F$5$7$"$2$k\e(B
1173   ()
1174   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$5$7$"$0\e(B))
1175 ;\e$BGc$C$F$5$7$"$2$k\e(B: OK
1176 (deftest \e$BGc$C$F$5$7>e$2$k\e(B
1177   ()
1178   (\e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B \e$BGc$C$F$5$7>e$0\e(B))
1179 ;\e$BGc$C$F$5$7>e$2$k\e(B: OK
1180
1181 (deftest \e$BFI$`$i$7$$\e(B
1182   ()
1183   (\e$BFI$`\e(B \e$BFI$`$i$7$&\e(B \e$BFI$`$i$7$$$k\e(B))
1184 ;\e$BFI$`$i$7$$\e(B: OK
1185
1186 (deftest \e$BFI$`$=$&\e(B
1187   ()
1188   (\e$BFI$`\e(B \e$BFI$`$9\e(B))
1189 ;\e$BFI$`$=$&\e(B: OK
1190
1191 (deftest \e$BFI$`$h$&\e(B
1192   ()
1193   (\e$BFI$`\e(B))
1194 ;\e$BFI$`$h$&\e(B: OK
1195
1196 (deftest \e$BFI$`$h$&$@\e(B
1197   ()
1198   (\e$BFI$`\e(B \e$BFI$`$h$&\e(B))
1199 ;\e$BFI$`$h$&$@\e(B: OK
1200
1201 (deftest \e$BGc$*$&\e(B
1202   ()
1203   (\e$BGc$&\e(B))
1204 ;\e$BGc$*$&\e(B: OK
1205 (deftest \e$BCV$3$&\e(B
1206   ()
1207   (\e$BCV$/\e(B))
1208 ;\e$BCV$3$&\e(B: OK
1209 (deftest \e$B1K$4$&\e(B
1210   ()
1211   (\e$B1K$0\e(B))
1212 ;\e$B1K$4$&\e(B: OK
1213 (deftest \e$BOC$=$&\e(B
1214   ()
1215   (\e$BOC$9\e(B))
1216 ;\e$BOC$=$&\e(B: OK
1217 (deftest \e$BBT$H$&\e(B
1218   ()
1219   (\e$BBT$D\e(B))
1220 ;\e$BBT$H$&\e(B: OK
1221 (deftest \e$B;`$N$&\e(B
1222   ()
1223   (\e$B;`$L\e(B))
1224 ;\e$B;`$N$&\e(B: OK
1225 (deftest \e$BFI$b$&\e(B
1226   ()
1227   (\e$BFI$`\e(B))
1228 ;\e$BFI$b$&\e(B: OK
1229 (deftest \e$B8F$\$&\e(B
1230   ()
1231   (\e$B8F$V\e(B))
1232 ;\e$B8F$\$&\e(B: OK
1233 (deftest \e$B8+$h$&\e(B
1234   ()
1235   (\e$B8+$k\e(B))
1236 ;\e$B8+$h$&\e(B: OK
1237
1238 ;;; Irregulars
1239 (deftest \e$BMh$h$&\e(B
1240   ()
1241   (\e$BMh$k\e(B))
1242 ;\e$BMh$h$&\e(B: OK
1243 (deftest \e$B$3$h$&\e(B
1244   ()
1245   (\e$B$/$k\e(B))
1246 ;\e$B$3$h$&\e(B: OK
1247 (deftest \e$B$7$h$&\e(B
1248   ()
1249   (\e$B$9$k\e(B \e$B$7$k\e(B))                              ;\e$B$7$k\e(B due to the regular rules.
1250 ;\e$B$7$h$&\e(B: OK
1251
1252 (deftest \e$BFI$s$A$c$&\e(B
1253   ()
1254   (\e$BFI$s$G$7$^$&\e(B \e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B))
1255 ;\e$BFI$s$A$c$&\e(B: OK
1256 (deftest \e$BGc$C$A$c$&\e(B
1257   ()
1258   (\e$BGc$C$F$7$^$&\e(B \e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B))
1259 ;\e$BGc$C$A$c$&\e(B: OK
1260
1261 (deftest \e$BFI$s$A$c$C$?\e(B
1262   ()
1263   (\e$BFI$s$G$7$^$&\e(B \e$BFI$s$G\e(B \e$BFI$`\e(B \e$BFI$L\e(B \e$BFI$V\e(B
1264    \e$BFI$s$A$c$&\e(B \e$BFI$s$A$c$k\e(B \e$BFI$s$A$c$D\e(B))
1265 ;\e$BFI$s$A$c$C$?\e(B: OK
1266
1267 (deftest \e$BGc$C$A$c$C$?\e(B
1268   ()
1269   (\e$BGc$C$F$7$^$&\e(B \e$BGc$C$F\e(B \e$BGc$&\e(B \e$BGc$C$D\e(B \e$BGc$D\e(B \e$BGc$k\e(B
1270    \e$BGc$C$A$c$&\e(B \e$BGc$C$A$c$k\e(B \e$BGc$C$A$c$D\e(B))
1271 ;\e$BGc$C$A$c$C$?\e(B: OK
1272
1273 (deftest \e$B:o=|$9$k\e(B
1274   ()
1275   (\e$B:o=|\e(B))
1276 ;\e$B:o=|$9$k\e(B: OK
1277
1278 ;;; Honorific prefixes
1279
1280 (deftest \e$B$*?e\e(B
1281   ()
1282   (\e$B?e\e(B))
1283 ;\e$B$*?e\e(B: OK
1284
1285 (deftest \e$B$4HS\e(B
1286   ()
1287   (\e$BHS\e(B))
1288 ;\e$B$4HS\e(B: OK
1289
1290 (deftest \e$B8fHS\e(B
1291   ()
1292   (\e$BHS\e(B))
1293 ;\e$B8fHS\e(B: OK
1294
1295 ;;; Adjectives
1296
1297 (deftest \e$B?7$7$/\e(B
1298   ()
1299   (\e$B?7$7$$\e(B))
1300 ;\e$B?7$7$/\e(B: OK
1301
1302 (deftest \e$B?7$7$/$F\e(B
1303   ()
1304   (\e$B?7$7$$\e(B \e$B?7$7$/$D\e(B \e$B?7$7$/$F$k\e(B))
1305 ;\e$B?7$7$/$F\e(B: OK
1306
1307 (deftest \e$B?7$7$+$C$?\e(B
1308   ()
1309   (\e$B?7$7$$\e(B \e$B?7$7$+$&\e(B \e$B?7$7$+$D\e(B \e$B?7$7$+$k\e(B))
1310 ;\e$B?7$7$+$C$?\e(B: OK
1311
1312 (deftest \e$B855$$G$O$"$j$^$;$s\e(B
1313   ()
1314   (\e$B855$\e(B \e$B855$$G$O$"$k\e(B \e$B855$$G$O$"$j$k\e(B \e$B855$$@\e(B \e$B855$$G$9\e(B))
1315 ;\e$B855$$G$O$"$j$^$;$s\e(B: OK
1316
1317 (deftest \e$B855$$G$O$J$$\e(B
1318   ()
1319   (\e$B855$\e(B \e$B855$$G$O$J$$$k\e(B \e$B855$$G$O$J$&\e(B \e$B855$$@\e(B))
1320 ;\e$B855$$G$O$J$$\e(B: OK
1321
1322 (deftest \e$B855$$8$c$"$j$^$;$s\e(B
1323   ()
1324   (\e$B855$\e(B \e$B855$$8$c$"$k\e(B \e$B855$$8$c$"$j$k\e(B \e$B855$$@\e(B \e$B855$$G$9\e(B))
1325 ;\e$B855$$8$c$"$j$^$;$s\e(B: OK
1326
1327 (deftest \e$B855$$8$c$J$$\e(B
1328   ()
1329   (\e$B855$\e(B \e$B855$$8$c$J$$$k\e(B \e$B855$$8$c$J$&\e(B \e$B855$$@\e(B))
1330 ;\e$B855$$8$c$J$$\e(B: OK
1331
1332 (deftest \e$B?7$7$/$J$/$F\e(B
1333   ()
1334   (\e$B?7$7$$\e(B \e$B?7$7$/$J$$\e(B \e$B?7$7$/$J$/$D\e(B \e$B?7$7$/$J$/$F$k\e(B))
1335 ;\e$B?7$7$/$J$/$F\e(B: OK
1336
1337 (deftest \e$B?7$7$1$l$P\e(B
1338   ()
1339   (\e$B?7$7$$\e(B \e$B?7$7$/\e(B \e$B?7$7$1$k\e(B))
1340 ;\e$B?7$7$1$l$P\e(B: OK
1341
1342 (deftest \e$B?7$7$/$J$$\e(B
1343   ()
1344   (\e$B?7$7$$\e(B \e$B?7$7$/$J$&\e(B \e$B?7$7$/$J$$$k\e(B))
1345 ;\e$B?7$7$/$J$$\e(B: OK
1346
1347 (deftest \e$BJY6/Cf\e(B
1348   ()
1349   (\e$BJY6/\e(B))
1350 ;\e$BJY6/Cf\e(B: OK
1351
1352 (deftest \e$B7k:'<0\e(B
1353   ()
1354   (\e$B7k:'\e(B))
1355 ;\e$B7k:'<0\e(B: OK
1356
1357 (deftest \e$BK:$l$b$N\e(B
1358   ()
1359   (\e$BK:$l\e(B \e$BK:$l$k\e(B \e$BK:$k\e(B))
1360 ;\e$BK:$l$b$N\e(B: OK
1361
1362 (deftest \e$BK:$lJ*\e(B
1363   ()
1364   (\e$BK:$l\e(B \e$BK:$l$k\e(B \e$BK:$k\e(B))
1365 ;\e$BK:$lJ*\e(B: OK
1366
1367 (deftest \e$BN99T<T\e(B
1368   ()
1369   (\e$BN99T\e(B))
1370 ;\e$BN99T<T\e(B: OK
1371
1372 (deftest \e$B4[0w\e(B
1373   ()
1374   (\e$B4[\e(B))
1375 ;\e$B4[0w\e(B: OK
1376
1377 (deftest \e$B:rF|\e(B
1378   ()
1379   (\e$BF|\e(B))
1380 ;\e$B:rF|\e(B: OK
1381
1382 (deftest \e$BMhG/\e(B
1383   ()
1384   (\e$BG/\e(B))
1385 ;\e$BMhG/\e(B: OK
1386
1387 (deftest \e$BA49q\e(B
1388   ()
1389   (\e$B9q\e(B))
1390 ;\e$BA49q\e(B: OK
1391
1392 ;;; Humble
1393
1394 (deftest \e$B$*0{$_$K$J$j$^$9\e(B
1395   ()
1396   (\e$B0{$`\e(B \e$B$*0{$_$K$J$k\e(B \e$B$*0{$_$K$J$j$k\e(B \e$B$*0{$_$K$J$j$^$9\e(B 
1397    \e$B0{$_$K$J$j$^$9\e(B \e$B0{$_$K$J$k\e(B \e$B0{$_$K$J$j$k\e(B))
1398 ;\e$B$*0{$_$K$J$j$^$9\e(B: OK
1399
1400 (deftest \e$B$*0{$_$K@.$j$^$9\e(B
1401   ()
1402   (\e$B0{$`\e(B \e$B$*0{$_$K@.$k\e(B \e$B$*0{$_$K@.$j$k\e(B 
1403    \e$B0{$_$K@.$j$^$9\e(B \e$B0{$_$K@.$k\e(B \e$B0{$_$K@.$j$k\e(B))
1404 ;\e$B$*0{$_$K@.$j$^$9\e(B: OK
1405
1406 (deftest \e$B9T$C$F$-$^$9\e(B
1407   ()
1408   (\e$B9T$/\e(B \e$B9T$C$F\e(B \e$B9T$C$F$/$k\e(B \e$B9T$C$F$/\e(B \e$B9T$C$F$-$k\e(B
1409    \e$B9T$&\e(B \e$B9T$D\e(B \e$B9T$k\e(B \e$B9T$$\e(B \e$B9T$C$D\e(B))
1410 ;\e$B9T$C$F$-$^$9\e(B: OK
1411
1412 (deftest \e$BJ,3d$7$J$$$h$&\e(B
1413   ()
1414   (\e$BJ,3d\e(B \e$BJ,3d$9$k\e(B \e$BJ,3d$7$k\e(B \e$BJ,3d$7$J$$\e(B \e$BJ,3d$7$J$$$k\e(B \e$BJ,3d$7$J$&\e(B))
1415 ;\e$BJ,3d$7$J$$$h$&\e(B: OK
1416
1417 (deftest \e$BBZ:_$7$F$$$k\e(B
1418   ()
1419   (\e$BBZ:_\e(B \e$BBZ:_$9$k\e(B \e$BBZ:_$7$F\e(B \e$BBZ:_$7$D\e(B \e$BBZ:_$9\e(B \e$BBZ:_$7$k\e(B))
1420 ;\e$BBZ:_$7$F$$$k\e(B: OK
1421
1422 (deftest \e$BD9$/$J$j$^$9\e(B
1423   ()
1424   (\e$BD9$/\e(B \e$BD9$$\e(B \e$BD9$/$J$k\e(B \e$BD9$/$J$j$k\e(B))
1425 ;\e$BD9$/$J$j$^$9\e(B: OK
1426
1427 ;;; \e$B$3$l$OJ,$+$C$F$$$^$;$s!'\e(B
1428 ;;  >  |\e$B$3$l$G\e(Bxinfo\e$B$GF|K\8l$,I=<($G$-$^$9!%\e(BEmacs\e$B$N\e(Binfo\e$B$O;H$$$:$i$+$C$?$N$G!$\e(B
1429 ;;  >  |xinfo\e$B$NB8:_$O$H$F$b$"$j$,$?$$$H;W$$$^$9!%\e(B
1430 ;; 
1431 ;; \e$B!V;H$$$:$i$+$C$?!W$H$O2?$G$9$+!#\e(B
1432 ;; \e$B"*!V;H$$$:!W$O!"!V;H$o$:!W$G$9$+!#\e(B
1433 ;; \e$B"*!V;H$o$J$+$C$?$i!W$G$9$+!#\e(B
1434 ;; \e$B$G$O!"!V;H$$$:!W$H!V$i$+$C$?!W$H!V$:$i!W$r\e(Bedict \e$B$,$o$+$i$J$C$?!#\e(B
1435 ;; \e$B;d$N@h@8$K?R$M$h$&!#\e(B
1436
1437 (deftest \e$B>/$J$+$i$:\e(B
1438   ()
1439   (\e$B>/$J$$\e(B \e$B>/$J$+$k\e(B \e$B>/$k\e(B))
1440 ;\e$B>/$J$+$i$:\e(B: OK
1441
1442 ;;; Test the various titles.
1443
1444 (deftest \e$Ba15H<B@h@8\e(B
1445   ()
1446   (\e$Ba15H<B\e(B))
1447 ;\e$Ba15H<B@h@8\e(B: OK
1448
1449 (deftest \e$BCfB<$5$s\e(B
1450   ()
1451   (\e$BCfB<\e(B))
1452 ;\e$BCfB<$5$s\e(B: OK
1453
1454 (deftest \e$B5\K\$A$c$s\e(B
1455   ()
1456   (\e$B5\K\\e(B))
1457 ;\e$B5\K\$A$c$s\e(B: OK
1458
1459 (deftest \e$BNS7/\e(B
1460   ()
1461   (\e$BNS\e(B))
1462 ;\e$BNS7/\e(B: OK
1463
1464 (deftest \e$B>.Bt$/$s\e(B
1465   ()
1466   (\e$B>.Bt\e(B))
1467 ;\e$B>.Bt$/$s\e(B: OK
1468
1469 (deftest \e$B@1LnMM\e(B
1470   ()
1471   (\e$B@1Ln\e(B))
1472 ;\e$B@1LnMM\e(B: OK
1473
1474 (deftest \e$B8E:d$5$^\e(B
1475   ()
1476   (\e$B8E:d\e(B))
1477 ;\e$B8E:d$5$^\e(B: OK
1478
1479 ;;; Test the various number cases.
1480
1481 (deftest \e$BFs?M\e(B
1482   ()
1483   (\e$B0l?M\e(B \e$B?M\e(B))
1484 ;\e$BFs?M\e(B: OK
1485
1486 (deftest 17\e$B?M\e(B
1487   ()
1488   (\e$B0l?M\e(B \e$B?M\e(B))
1489 ;17\e$B?M\e(B: OK
1490
1491 (deftest \e$B#1#7?M\e(B
1492   ()
1493   (\e$B0l?M\e(B \e$B?M\e(B))
1494 ;\e$B#1#7?M\e(B: OK
1495
1496 ;;; This one caused infinite recursion, due to a hole in the
1497 ;;; redundant-expansion checking (things didn't get checked for redundancy
1498 ;;; quite soon enough, so short cycles weren't detected).
1499
1500 (deftest \e$B=P$F\e(B
1501   ()
1502   (\e$B=P$k\e(B \e$B=P$F$k\e(B \e$B=P$D\e(B))
1503 ;\e$B=P$F\e(B: OK
1504
1505 ;;; This one caused infinite recursion, due to failure to root certain
1506 ;;; patterns.  I've since added checks on the patterns to enforce rootedness.
1507
1508 (deftest \e$BDL$8$k\e(B
1509   ()
1510   ())
1511 ;\e$BDL$8$k\e(B: OK
1512
1513 (deftest \e$B#2<oN`\e(B
1514   ()
1515   (\e$B0l<oN`\e(B \e$B<oN`\e(B))
1516 ;\e$B#2<oN`\e(B: OK
1517
1518 (deftest \e$B$"$+$$$8$c$"$j$^$;$s\e(B
1519   ()
1520   (\e$B$"$+$$$G$9\e(B \e$B$"$+$$$8$c$"$k\e(B \e$B$"$+$$$8$c$"$j$k\e(B \e$B$"$+$$$@\e(B \e$B$"$+$0\e(B \e$B$"$+$&\e(B \e$B$"$+$$$k\e(B \e$B$"$+$$\e(B))
1521 ;\e$B$"$+$$$8$c$"$j$^$;$s\e(B: OK
1522
1523 (deftest \e$B1+$G$7$g$&\e(B
1524   ()
1525   (\e$B1+$G$9\e(B \e$B1+$@\e(B \e$B1+\e(B))
1526 ;\e$B1+$G$7$g$&\e(B: OK
1527
1528 (deftest \e$BG-\e(Bs
1529   ()
1530   ()
1531   (\e$BG-\e(B))
1532 ;\e$BG-\e(Bs: OK
1533
1534 (deftest \e$B7AMF;l!<\e(B
1535   ()
1536   (\e$B7AMF;l\e(B))
1537
1538 (deftest keys
1539   (english)
1540   (key))
1541 ;keys: OK
1542
1543 (deftest families
1544   (english)
1545   (family))
1546 ;families: OK
1547
1548 (provide 'edict-test)