r9221: Test for boolean slots.
[clsql.git] / tests / test-oodml.lisp
index 6ea820a615a97e3f92678cf5831955717ac37679..9969abde55dc504ac479eedd358a7eda907a9730 100644 (file)
                          :order-by [last-name]))
   ("Vladamir Lenin" "Vladamir Putin"))
 
-;; sqlite fails this because it is typeless 
 (deftest :oodml/select/5
     (length (clsql:select 'employee :where [married] :flatp t))
   3)
 
+(deftest :oodml/select/6
+    (slot-value (caar (clsql:select 'employee :where [= 1 [emplid]])) 'married)
+  t)
+
+(deftest :oodml/select/7
+    (slot-value (caar (clsql:select 'employee :where [= 4 [emplid]])) 'married)
+  nil)
+
+(deftest :oodml/select/8
+    (let ((a (caar (clsql:select 'address :where [= 1 [emplid]]))))
+      (values
+       (slot-value a 'street-number)
+       (slot-value a 'street-name)
+       (slot-value a 'city)
+       (slot-value a 'postal-code)))
+  10 "Park Place" "Leningrad" 123)
+
+(deftest :oodml/select/9
+    (let ((a (caar (clsql:select 'address :where [= 2 [emplid]]))))
+      (values
+       (slot-value a 'street-number)
+       (slot-value a 'street-name)
+       (slot-value a 'city)
+       (slot-value a 'postal-code)))
+  nil "" "no city" 0)
+
+(deftest :oodml/select/10 
+    (mapcar #'(lambda (e) (slot-value e 'married)) 
+              (clsql:select 'employee :flatp t :order-by [emplid]))
+  (T T T NIL NIL NIL NIL NIL NIL NIL))
+
 ;; tests update-records-from-instance 
 (deftest :oodml/update-records/1
     (values