[elephant-cvs] CVS update: elephant/tests/mop-tests.lisp
blee at common-lisp.net
blee at common-lisp.net
Tue Sep 21 19:36:36 UTC 2004
Update of /project/elephant/cvsroot/elephant/tests
In directory common-lisp.net:/tmp/cvs-serv4131/tests
Modified Files:
mop-tests.lisp
Log Message:
new tests for change class, update class
Date: Tue Sep 21 21:36:35 2004
Author: blee
Index: elephant/tests/mop-tests.lisp
diff -u elephant/tests/mop-tests.lisp:1.5 elephant/tests/mop-tests.lisp:1.6
--- elephant/tests/mop-tests.lisp:1.5 Thu Sep 16 06:26:08 2004
+++ elephant/tests/mop-tests.lisp Tue Sep 21 21:36:34 2004
@@ -177,4 +177,45 @@
(find-slot-def 'p-class 'slot1))
)
(signals-condition (slot1 p)))
+ t)
+
+(deftest update-class
+ (progn
+ (defclass update-class ()
+ ((slot1 :initform 1 :accessor slot1))
+ (:metaclass persistent-metaclass))
+ (let* ((*auto-commit* t)
+ (foo (make-instance 'update-class)))
+ (defclass update-class ()
+ ((slot2 :initform 2 :accessor slot2))
+ (:metaclass persistent-metaclass))
+ (values
+ (slot2 foo)
+ (signals-condition (slot1 foo)))))
+ 2 t)
+
+(deftest change-class
+ (progn
+ (defclass class-one ()
+ ((slot1 :initform 1 :accessor slot1))
+ (:metaclass persistent-metaclass))
+
+ (defclass class-two ()
+ ((slot1 :initform 0 :accessor slot1)
+ (slot2 :initform 2 :accessor slot2))
+ (:metaclass persistent-metaclass))
+
+ (let* ((*auto-commit* t)
+ (foo (make-instance 'class-one)))
+ (change-class foo (find-class 'class-two))
+ (values
+ (slot1 foo)
+ (slot2 foo))))
+ 1 2)
+
+(deftest change-class2
+ (with-transaction ()
+ (let ((foo (make-instance 'btree)))
+ (change-class foo (find-class 'indexed-btree))
+ (is-not-null (indices foo))))
t)
More information about the Elephant-cvs
mailing list