;;; .EnTete "Le-Lisp (c) version 15.2" " " "Test de MicroCeyx"
;;; .EnPied "testmcx.ll" "%" " "
;;; .SuperTitre "Test de MicroCeyx"
;;;
;;; .Centre "*****************************************************************"
;;; .Centre " Ce fichier est en lecture seule hors du projet ALE de l'INRIA. "
;;; .Centre " Il est maintenu par ILOG SA, 2 Avenue Gallie'ni, 94250 Gentilly "
;;; .Centre " (c) Le-Lisp est une marque de'pose'e de l'INRIA "
;;; .Centre "*****************************************************************"
;;;
;;; .Centre "$Header: testmcx.ll,v 4.1 88/01/13 12:32:05 kuczynsk Rel $"
(unless (>= (version) 15.2)
(error 'load 'erricf 'testmcx))
(unless (featurep 'testcomm)
(libload testcomm))
(unless (featurep 'microceyx)
(print "Je charge microceyx interpre'te'")
(libload microceyx))
(testfn t)
(test-serie "[Test de DEFSTRUCT]" ())
(defstruct homme age (poids 75)) homme
(setq h1 (#:homme:make)) #:homme:#[() 75]
(#:homme:age h1 40) 40
(#:homme:poids h1) 75
(structurep h1) t
(defstruct #:homme:chercheur projet articles) #:homme:chercheur
(setq hc1 (#:homme:chercheur:make)) #:homme:chercheur:#[() 75 () ()]
(#:homme:chercheur:articles hc1 '("CC" "TH")) ("CC" "TH")
(#:homme:poids hc1) 75
(#:homme:age hc1 26) 26
(#:homme:chercheur:age hc1) 26
(test-serie "[Test de TYPExxx]" ())
(type-of 12) fix
(type-of 12.2) float
(type-of ()) null
(type-of 'asd) symbol
(type-of "aaaa") string
(type-of #[1 2 3]) vector
(type-of #:foo:bar:"gee") #:foo:bar
(type-of #:homme:#[() 75]) homme
(type-of '(1)) cons
(type-of '#(foo . 1)) foo
(subtypep '#:homme:chercheur 'homme) t
(subtypep 'symbol 'symbol) t
(subtypep '#:homme:chercheur '#:homme:trouveur) ()
(subtypep 'fix'||) t
(typep (#:homme:chercheur:make) 'homme) t
(typep 'foo 'symbol) t
(typep (#:homme:chercheur:make) '#:homme:trouveur) ()
(typep 12 '||) t
(test-serie "[Test de GETFNx et SENDx]" ())
(getfn1 () 'car) car
(de #:foo:bar ()) #:foo:bar
(getfn1 'foo 'bar) #:foo:bar
(getfn1 'gee 'bar) ()
(de foo ()) foo
(de #:bar:foo ()) #:bar:foo
(de #:bar:gee:buz:foo ()) #:bar:gee:buz:foo
(getfn '#:bar:gee:buz 'foo) #:bar:gee:buz:foo
(getfn '#:bar:gee 'foo) #:bar:foo
(getfn 'bar 'foo) #:bar:foo
(getfn () 'foo) foo
(getfn '#:potop:teraz 'foo) foo
(getfn '#:bar:gee 'foo ()) #:bar:foo
(getfn 'bar 'foo ()) #:bar:foo
(getfn 'gee 'foo ()) ()
(getfn '#:bar:gee:buz 'foo 'bar) #:bar:gee:buz:foo
(getfn '#:bar:gee 'foo 'bar) ()
(test-serie "[Test des ABBREV]" ())
(defabbrev potop #:d:e:l:u:g:e) potop
(abbrevp 'potop) t
(get-abbrev 'potop) #:d:e:l:u:g:e
(has-an-abbrev '#:d:e:l:u:g:e) potop
(rem-abbrev 'potop) potop
(abbrevp 'potop) ()
(test-serie "[Test de DEFTCLASS]" ())
(deftclass foo a (b 1) c) #:Tclass:foo
'{foo} #:Tclass:foo
(deftclass foo a (b 1) c) #:Tclass:foo ; deux fois c'est permis
'{foo} #:Tclass:foo
(deftclass {foo}:bar (d 12)) #:Tclass:foo:bar
'{bar} #:Tclass:foo:bar
(deftclass {bar}:gee e) #:Tclass:foo:bar:gee
'{gee} #:Tclass:foo:bar:gee
(deftclass #:Tclass:gee:muu) (#.errnotatclass deftclass #:Tclass:gee:muu)
(deftclass (foo bar)) (#.errnotatclass deftclass (foo bar))
(deftclass {foo}:gee) (#.errtclassabbrev deftclass gee)
(test-serie "[Test de TCLASS-NAMEP]" ())
(tclass-namep 'foo) ()
(tclass-namep '{foo}) t
(tclass-namep '{bar}) t
(tclass-namep '(foo bar)) ()
(tclass-namep '#:foo:bar:gee) ()
(test-serie "[Test de OMAKEQ]" ())
(omakeq {foo}) {foo}:#[() 1 ()]
(omakeq {bar}) {bar}:#[() 1 () 12]
(omakeq {gee}) {gee}:#[() 1 () 12 ()]
(setq objfoo
(omakeq {foo} a 10 b 11 c 12)) {foo}:#[10 11 12]
(setq objbar
(omakeq {bar} a 10 b 11 c 12)) {bar}:#[10 11 12 12]
(setq objgee
(omakeq {gee} a 10 d 11 e 12)) {gee}:#[10 1 () 11 12]
(setq l '(10 20)) (10 20)
(omakeq {foo}
a (nextl l)
c (nextl l)) {foo}:#[10 1 20]
(setq l '(10 20 30)) (10 20 30)
(omakeq {bar}
a (nextl l)
d (nextl l)
b (nextl l)) {bar}:#[10 30 () 20]
(omakeq muubuu) (#.errnotarecordoratclass omakeq muubuu)
(omakeq #:Tclass:muu) (#.errnotarecordoratclass omakeq #:Tclass:muu)
(omakeq (foo bar)) (#.errnotarecordoratclass omakeq (foo bar))
(omakeq {foo} d 12) (#.errnotafield omakeq ({foo} d))
(omakeq {bar} g 10) (#.errnotafield omakeq ({bar} g))
(omakeq {foo} a) (#.errwna omakeq ())
(omakeq {foo} a . 12) (#.errbpa omakeq 12)
(omakeq {foo} a 12 . bid) (#.errbpa omakeq bid)
(test-serie "[Test de DEFMAKE]" ())
(defmake {foo} make-foo (c a)) make-foo
(make-foo 12 34) {foo}:#[34 1 12]
(defmake foo (c a) ()) (#.errsym defmake (c a))
(test-serie "[Test de SEND]" ())
(de hello (x) `(hello ,x)) hello
(send 'hello (omakeq {foo})) (hello {foo}:#[() 1 ()])
(send 'hello "hello") (hello "hello")
(sendq hello (omakeq {foo})) (hello {foo}:#[() 1 ()])
(sendq hello "hello") (hello "hello")
(mapcar (sendf 'hello)
(list (omakeq {foo}) "hello")) ((hello {foo}:#[() 1 ()]) (hello "hello"))
(mapcar (sendfq hello)
(list (omakeq {foo}) "hello")) ((hello {foo}:#[() 1 ()]) (hello "hello"))
(test-serie "[Test de FIELD-LIST]" ())
(field-list '{foo}) (a b c)
(field-list '{bar}) (a b c d)
(field-list '{gee}) (a b c d e)
(field-list 'muubuu) (#.errnotarecordoratclass field-list muubuu)
(field-list '#:Tclass:muu)
(#.errnotarecordoratclass field-list #:Tclass:muu)
(field-list '(foo bar))
(#.errnotarecordoratclass field-list (foo bar))
(test-serie "[Test des OGETQ/OPUTQ]" ())
(ogetq muubuu a gee) (#.errnotarecordoratclass ogetq muubuu)
(ogetq {foo} kk gee) (#.errnotafield ogetq ({foo} kk))
(oputq muubuu a gee 3) (#.errnotarecordoratclass oputq muubuu)
(oputq {foo} kk gee 3) (#.errnotafield oputq ({foo} kk))
(ogetq {foo} a objfoo) 10
(ogetq {foo} a objbar) 10
(ogetq {foo} a objgee) 10
(ogetq {foo} b objfoo) 11
(ogetq {foo} b objbar) 11
(ogetq {foo} b objgee) 1
(ogetq {foo} c objfoo) 12
(ogetq {foo} c objbar) 12
(ogetq {foo} c objgee) ()
(ogetq {bar} a objbar) 10
(ogetq {bar} a objgee) 10
(ogetq {bar} b objbar) 11
(ogetq {bar} b objgee) 1
(ogetq {bar} c objbar) 12
(ogetq {bar} c objgee) ()
(ogetq {gee} a objgee) 10
(ogetq {gee} b objgee) 1
(ogetq {gee} c objgee) ()
(ogetq {bar} d objbar) 12
(ogetq {bar} d objgee) 11
(ogetq {gee} d objgee) 11
(ogetq {gee} e objgee) 12
(oputq {foo} a objfoo (list 1 2)) (1 2)
(ogetq {foo} a objfoo) (1 2)
(oputq {foo} a objbar 13) 13
(ogetq {foo} a objbar) 13
(oputq {foo} a objgee 14) 14
(ogetq {foo} a objgee) 14
(oputq {foo} b objfoo 15) 15
(ogetq {foo} b objfoo) 15
(oputq {foo} b objbar 12) 12
(ogetq {foo} b objbar) 12
(oputq {foo} b objgee 24) 24
(ogetq {foo} b objgee) 24
(oputq {foo} c objfoo 78) 78
(ogetq {foo} c objfoo) 78
(oputq {foo} c objbar 67) 67
(ogetq {foo} c objbar) 67
(oputq {foo} c objgee 'a) a
(ogetq {foo} c objgee) a
(oputq {bar} a objbar 11) 11
(ogetq {bar} a objbar) 11
(oputq {bar} a objgee -1) -1
(ogetq {bar} a objgee) -1
(oputq {bar} b objbar 99) 99
(ogetq {bar} b objbar) 99
(oputq {bar} b objgee 45) 45
(ogetq {bar} b objgee) 45
(oputq {bar} c objbar 78) 78
(ogetq {bar} c objbar) 78
(oputq {bar} c objgee 11) 11
(ogetq {bar} c objgee) 11
(oputq {gee} a objgee 55) 55
(ogetq {gee} a objgee) 55
(oputq {gee} b objgee 66) 66
(ogetq {gee} b objgee) 66
(oputq {gee} c objgee 55) 55
(ogetq {gee} c objgee) 55
(oputq {bar} d objbar 78) 78
(ogetq {bar} d objbar) 78
(oputq {bar} d objgee 97) 97
(ogetq {bar} d objgee) 97
(oputq {gee} d objgee 46) 46
(ogetq {gee} d objgee) 46
(oputq {gee} e objgee 79) 79
(ogetq {gee} e objgee) 79
(test-serie "[Test de OMATCHQ]" ())
(omatchq {foo} objfoo) t
(omatchq {foo} objbar) t
(omatchq {foo} objgee) t
(omatchq {bar} objfoo) ()
(omatchq {bar} objbar) t
(omatchq {bar} objgee) t
(omatchq {gee} objfoo) ()
(omatchq {gee} objbar) ()
(omatchq {gee} objgee) t
(omatchq muubuu objfoo) (#.errnotatclass omatchq muubuu)
(test-serie "[Test de DEFRECORD]" ())
(defrecord recfoo a (b 1) c) recfoo
'{recfoo} recfoo
(defrecord recbar a (b binit) (c (cons 1 2)) (d dinit))
recbar
'{recbar} recbar
(defrecord recgee (a 'a) (b 'b) (c 'c) (d 'd)
(e 'e) (f 'f) (g 'g)) recgee
'{recgee} recgee
(defrecord muu q w e r t y u i o p a s d f g h)
muu
'{muu} muu
(defrecord biz q w e r t y u i o p a s d f g h j)
(#.errrecordtoolong defrecord
(biz q w e r t y u i o p a s d f g h j))
(defrecord single (a (+ 2 3))) single
'{single} single
(defrecord "foo" a) (#.errnva defrecord "foo")
(defrecord foo (a)) (#.errbadfield defrecord (a))
(defrecord foo (a . 1)) (#.errbadfield defrecord (a . 1))
(defrecord foo (a 1 2)) (#.errbadfield defrecord (a 1 2))
(test-serie "[Test de RECORD-NAMEP]" ())
(record-namep '{recfoo}) t
(record-namep '{recbar}) t
(record-namep '{recgee}) t
(record-namep '{muu}) t
(record-namep 'biz) ()
(record-namep '(1 2 3)) ()
(test-serie "[Test de FIELD-LIST des RECORDs]" ())
(field-list '{recfoo}) (a b c)
(field-list '{recbar}) (a b c d)
(field-list '{recgee}) (a b c d e f g)
(field-list '{muu}) (q w e r t y u i o p a s d f g h)
(test-serie "[Test des fonctions de cre'ation des RECORDs]" ())
(setq recfooobj ({recfoo}:make)) (() . (1 . ()))
(setq binit 40) 40
(setq dinit 12.3) 12.3
(setq recbarobj ({recbar}:make)) ((() . 40) . ((1 . 2) . 12.3))
(setq recgeeobj ({recgee}:make)) ((a . (b . c)) . ((d . e) . (f . g)))
(test-serie "[Test de OMAKEQ des RECORDs]" ())
(omakeq {recfoo}) (() . (1 . ()))
(omakeq {recbar}) ((() . 40) . ((1 . 2) . 12.3))
(omakeq {recgee}) ((a . ( b . c)) . ((d . e) . (f . g)))
(omakeq {recfoo} a 12) (12 . (1 . ()))
(omakeq {recbar} b (cons 'a 'b)
c (list 123)) ((() . (a . b)) . ((123) . 12.3))
(omakeq {recgee} a 1 b 2 c 3 d 4 e 5 f 6 g 7)
((1 . (2 . 3)) . ((4 . 5) . (6 . 7)))
(omakeq {single}) (5)
(setq single
(omakeq {single} a (ncons 12))) ((12))
(setq l '(10 20 30)) (10 20 30)
(omakeq {recfoo}
a (nextl l)
c (nextl l)) (10 . (1 . 20))
(setq l '(10 20 30)) (10 20 30)
(omakeq {recbar}
a (nextl l)
d (nextl l)
b (nextl l)) ((10 . 30) . ((1 . 2) . 20))
(test-serie "[Test de DEFMAKE des RECORDs]" ())
(defmake {recbar} make-bar (b d)) make-bar
(make-bar (cons 1 2) (cons 2 3)) ((() . (1 . 2)) . ((1 . 2) . (2 . 3)))
(test-serie "[Lecture des champs des RECORDs]" ())
({recfoo}:a recfooobj) ()
({recfoo}:b recfooobj) 1
({recfoo}:c recfooobj) ()
({recbar}:a recbarobj) ()
({recbar}:b recbarobj) 40
({recbar}:c recbarobj) (1 . 2)
({recbar}:d recbarobj) 12.3
({recgee}:a recgeeobj) a
({recgee}:b recgeeobj) b
({recgee}:c recgeeobj) c
({recgee}:d recgeeobj) d
({recgee}:e recgeeobj) e
({recgee}:f recgeeobj) f
({recgee}:g recgeeobj) g
(test-serie "[Ecriture des champs des RECORDs]" ())
({recfoo}:a recfooobj (cons 1 2)) (1 . 2)
({recfoo}:a recfooobj) (1 . 2)
({recfoo}:b recfooobj 12.23) 12.23
({recfoo}:b recfooobj) 12.23
({recfoo}:c recfooobj 24.3) 24.3
({recfoo}:c recfooobj) 24.3
({recbar}:a recbarobj (list 1 2)) (1 2)
({recbar}:a recbarobj) (1 2)
({recbar}:b recbarobj '(123)) (123)
({recbar}:b recbarobj) (123)
({recbar}:c recbarobj -1000) -1000
({recbar}:c recbarobj) -1000
({recbar}:d recbarobj 123) 123
({recbar}:d recbarobj) 123
({recgee}:a recgeeobj 123) 123
({recgee}:a recgeeobj) 123
({recgee}:b recgeeobj -76) -76
({recgee}:b recgeeobj) -76
({recgee}:c recgeeobj "poilo") "poilo"
({recgee}:c recgeeobj) "poilo"
({recgee}:d recgeeobj 'fuub) fuub
({recgee}:d recgeeobj) fuub
({recgee}:e recgeeobj (- 23 12)) 11
({recgee}:e recgeeobj) 11
({recgee}:f recgeeobj ''a) 'a
({recgee}:f recgeeobj) 'a
({recgee}:g recgeeobj (list 1 2 3)) (1 2 3)
({recgee}:g recgeeobj) (1 2 3)
({single}:a single) (12)
({single}:a single (list 3)) (3)
; On conditionne le test des macros du compilateur, avec la presence
; du macroexpanseur du compilateur.
#.(setq cm (typefn '#:compiler:macroexpand) x 0) 0
(test-serie #+cm "[Macros du compilateur des RECORDs]"
#-cm "[Pas de test des Macros du compilateur des RECORDs]"
())
#+cm (eval (#:compiler:macroexpand '({recfoo}:a recfooobj (cons 1 2))))
#+cm (1 . 2)
#+cm (eval (#:compiler:macroexpand '({recfoo}:a recfooobj)))
#+cm (1 . 2)
#+cm (eval (#:compiler:macroexpand '({recfoo}:b recfooobj 12.23)))
#+cm 12.23
#+cm (eval (#:compiler:macroexpand '({recfoo}:b recfooobj)))
#+cm 12.23
#+cm (eval (#:compiler:macroexpand '({recfoo}:c recfooobj 24.3)))
#+cm 24.3
#+cm (eval (#:compiler:macroexpand '({recfoo}:c recfooobj)))
#+cm 24.3
#+cm (eval (#:compiler:macroexpand '({recbar}:a recbarobj (list 1 2))))
#+cm (1 2)
#+cm (eval (#:compiler:macroexpand '({recbar}:a recbarobj)))
#+cm (1 2)
#+cm (eval (#:compiler:macroexpand '({recbar}:b recbarobj '(123))))
#+cm (123)
#+cm (eval (#:compiler:macroexpand '({recbar}:b recbarobj)))
#+cm (123)
#+cm (eval (#:compiler:macroexpand '({recbar}:c recbarobj -1000)))
#+cm -1000
#+cm (eval (#:compiler:macroexpand '({recbar}:c recbarobj)))
#+cm -1000
#+cm (eval (#:compiler:macroexpand '({recbar}:d recbarobj 123)))
#+cm 123
#+cm (eval (#:compiler:macroexpand '({recbar}:d recbarobj)))
#+cm 123
#+cm (eval (#:compiler:macroexpand '({recgee}:a recgeeobj 123)))
#+cm 123
#+cm (eval (#:compiler:macroexpand '({recgee}:a recgeeobj)))
#+cm 123
#+cm (eval (#:compiler:macroexpand '({recgee}:b recgeeobj -76)))
#+cm -76
#+cm (eval (#:compiler:macroexpand '({recgee}:b recgeeobj)))
#+cm -76
#+cm (eval (#:compiler:macroexpand '({recgee}:c recgeeobj "poilo")))
#+cm "poilo"
#+cm (eval (#:compiler:macroexpand '({recgee}:c recgeeobj)))
#+cm "poilo"
#+cm (eval (#:compiler:macroexpand '({recgee}:d recgeeobj 'fuub)))
#+cm fuub
#+cm (eval (#:compiler:macroexpand '({recgee}:d recgeeobj)))
#+cm fuub
#+cm (eval (#:compiler:macroexpand '({recgee}:e recgeeobj (- 23 12))))
#+cm 11
#+cm (eval (#:compiler:macroexpand '({recgee}:e recgeeobj)))
#+cm 11
#+cm (eval (#:compiler:macroexpand '({recgee}:f recgeeobj ''a)))
#+cm 'a
#+cm (eval (#:compiler:macroexpand '({recgee}:f recgeeobj)))
#+cm 'a
#+cm (eval (#:compiler:macroexpand '({recgee}:g recgeeobj (list 1 2 3))))
#+cm (1 2 3)
#+cm (eval (#:compiler:macroexpand '({recgee}:g recgeeobj)))
#+cm (1 2 3)
#+cm (eval (#:compiler:macroexpand '({single}:a single (cons 1 2))))
#+cm (1 . 2)
#+cm (eval (#:compiler:macroexpand '({single}:a single)))
#+cm (1 . 2)
(test-serie "[Test de DEMETHOD]" ())
(demethod {foo}:boo (o) (a b c) (list a b c)) {foo}:boo
(sendq boo (omakeq {foo} a 1 b 2 c 3)) (1 2 3)
(demethod {foo}:baa (o) () (list 'a 'b 'c)) {foo}:baa
(sendq baa (omakeq {foo} a 1 b 2 c 3)) (a b c)
(demethod {bar}:bii (o) (a c d) (list d c a)) {bar}:bii
(sendq bii (omakeq {bar} a 1 b 2 c 3 d 4)) (4 3 1)
(demethod {gee}:bee (o) (e a d) (list a d e)) {gee}:bee
(sendq bee (omakeq {gee} a 1 b 2 e 3 d 4)) (1 4 3)
(demethod {foo}:muu (objet x y) (a) (+ a x y)) {foo}:muu
(sendq muu (omakeq {bar} a 12) 10 20) 42
(demethod {recfoo}:baa (rec) (a) a) {recfoo}:baa
({recfoo}:baa (omakeq {recfoo} a (list 12))) (12)
(demethod #:Tclass:asd:asd (ad) ())
(#.errnotarecordoratclass demethod #:Tclass:asd)
(demethod {foo}:pii (o) (qwerty))
(#.errnotafield demethod ({foo} qwerty))
#- (or #:microceyx:ceyxv4-compat #:microceyx:test-compat)
(exit eof)
#- (or #:microceyx:ceyxv4-compat #:microceyx:test-compat)
()
(test-serie "[Test de la compatibilite' pour CEYXV4]" ())
(test-serie "[Test de PLINK]" ())
(plink 'foo) {foo}
(plink 'bar) {bar}
(plink 'gee) {gee}
(plink 'muu) muu
(plink 'poidlqpwo) poidlqpwo
(plink ()) ()
(plink 'poipoi 'kuku) kuku
(plink 'poipoi) kuku
(test-serie "[Test de OMAKEQ]" ())
(omakeq foo) {foo}:#[() 1 ()]
(omakeq bar) {bar}:#[() 1 () 12]
(omakeq gee) {gee}:#[() 1 () 12 ()]
(setq objfoo
(omakeq foo a 10 b 11 c 12)) {foo}:#[10 11 12]
(setq objbar
(omakeq bar a 10 b 11 c 12)) {bar}:#[10 11 12 12]
(setq objgee
(omakeq gee a 10 d 11 e 12)) {gee}:#[10 1 () 11 12]
(setq l '(10 20)) (10 20)
(omakeq foo
a (nextl l)
c (nextl l)) {foo}:#[10 1 20]
(setq l '(10 20 30)) (10 20 30)
(omakeq bar
a (nextl l)
d (nextl l)
b (nextl l)) {bar}:#[10 30 () 20]
(omakeq muubuu) (#.errnotarecordoratclass omakeq muubuu)
(omakeq #:Tclass:muu) (#.errnotarecordoratclass omakeq #:Tclass:muu)
(omakeq (foo bar)) (#.errnotarecordoratclass omakeq (foo bar))
(omakeq foo d 12) (#.errnotafield omakeq ({foo} d))
(omakeq bar g 10) (#.errnotafield omakeq ({bar} g))
(omakeq foo a) (#.errwna omakeq ())
(omakeq foo a . 12) (#.errbpa omakeq 12)
(omakeq foo a 12 . bid) (#.errbpa omakeq bid)
(test-serie "[Test des OGETQ/OPUTQ]" ())
(ogetq muubuu a gee) (#.errnotarecordoratclass ogetq muubuu)
(ogetq foo kk gee) (#.errnotafield ogetq ({foo} kk))
(oputq muubuu a gee 3) (#.errnotarecordoratclass oputq muubuu)
(oputq foo kk gee 3) (#.errnotafield oputq ({foo} kk))
(ogetq foo a objfoo) 10
(ogetq foo a objbar) 10
(ogetq foo a objgee) 10
(ogetq foo b objfoo) 11
(ogetq foo b objbar) 11
(ogetq foo b objgee) 1
(ogetq foo c objfoo) 12
(ogetq foo c objbar) 12
(ogetq foo c objgee) ()
(ogetq bar a objbar) 10
(ogetq bar a objgee) 10
(ogetq bar b objbar) 11
(ogetq bar b objgee) 1
(ogetq bar c objbar) 12
(ogetq bar c objgee) ()
(ogetq gee a objgee) 10
(ogetq gee b objgee) 1
(ogetq gee c objgee) ()
(ogetq bar d objbar) 12
(ogetq bar d objgee) 11
(ogetq gee d objgee) 11
(ogetq gee e objgee) 12
(oputq foo a objfoo (list 1 2)) (1 2)
(ogetq foo a objfoo) (1 2)
(oputq foo a objbar 13) 13
(ogetq foo a objbar) 13
(oputq foo a objgee 14) 14
(ogetq foo a objgee) 14
(oputq foo b objfoo 15) 15
(ogetq foo b objfoo) 15
(oputq foo b objbar 12) 12
(ogetq foo b objbar) 12
(oputq foo b objgee 24) 24
(ogetq foo b objgee) 24
(oputq foo c objfoo 78) 78
(ogetq foo c objfoo) 78
(oputq foo c objbar 67) 67
(ogetq foo c objbar) 67
(oputq foo c objgee 'a) a
(ogetq foo c objgee) a
(oputq bar a objbar 11) 11
(ogetq bar a objbar) 11
(oputq bar a objgee -1) -1
(ogetq bar a objgee) -1
(oputq bar b objbar 99) 99
(ogetq bar b objbar) 99
(oputq bar b objgee 45) 45
(ogetq bar b objgee) 45
(oputq bar c objbar 78) 78
(ogetq bar c objbar) 78
(oputq bar c objgee 11) 11
(ogetq bar c objgee) 11
(oputq gee a objgee 55) 55
(ogetq gee a objgee) 55
(oputq gee b objgee 66) 66
(ogetq gee b objgee) 66
(oputq gee c objgee 55) 55
(ogetq gee c objgee) 55
(oputq bar d objbar 78) 78
(ogetq bar d objbar) 78
(oputq bar d objgee 97) 97
(ogetq bar d objgee) 97
(oputq gee d objgee 46) 46
(ogetq gee d objgee) 46
(oputq gee e objgee 79) 79
(ogetq gee e objgee) 79
(test-serie "[Test de OMATCHQ]" ())
(omatchq foo objfoo) t
(omatchq foo objbar) t
(omatchq foo objgee) t
(omatchq bar objfoo) ()
(omatchq bar objbar) t
(omatchq bar objgee) t
(omatchq gee objfoo) ()
(omatchq gee objbar) ()
(omatchq gee objgee) t
(omatchq muubuu objfoo) (#.errnotatclass omatchq muubuu)