r9280: sql/objects.lisp: more framework for supporing immediate retrieval
[clsql.git] / tests / test-oodml.lisp
index df55c38b4f282d15cf136a8a8f97f645f9271dc0..88a77909911a5bfb05651bb49cbd36f5176d38ab 100644 (file)
             (employee-addresses employee2))
          ((t t 2 2 2)))
 
+       ;; :retrieval :immediate should be boundp before accessed
+       (deftest :oodm/retrieval/1
+           (every #'(lambda (ea) (slot-boundp ea 'address))
+            (select 'employee-address :flatp t))
+         t)
+
+       (deftest :oodm/retrieval/2
+           (mapcar #'(lambda (ea) (typep (slot-value ea 'address) 'address))
+            (select 'employee-address :flatp t))
+         (t t t t t))
+
+       ;; test retrieval is deferred
+       (deftest :oodm/retrieval/3
+           (every #'(lambda (e) (not (slot-boundp e 'company)))
+            (select 'employee :flatp t))
+         t)
 
        ;; tests update-records-from-instance 
        (deftest :oodml/update-records/1