: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
+ (let ((a (caar (clsql:select 'address :where [= 1 [addressid]]))))
+ (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/7
+ (let ((a (caar (clsql:select 'address :where [= 2 [addressid]]))))
+ (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/8
+ (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))
+
+(deftest :oodml/select/9
+ (mapcar #'(lambda (pair)
+ (list
+ (typep (car pair) 'address)
+ (typep (cdr pair) 'employee-address)
+ (slot-value (car pair) 'addressid)
+ (slot-value (cdr pair) 'addressid)))
+ (employee-addresses employee1))
+ ((t t 1 1) (t t 2 2)))
+
+(deftest :oodml/select/10
+ (mapcar #'(lambda (pair)
+ (list
+ (typep (car pair) 'address)
+ (typep (cdr pair) 'employee-address)
+ (slot-value (car pair) 'addressid)
+ (slot-value (cdr pair) 'addressid)))
+ (employee-addresses employee2))
+ ((t t 2 2)))
+
+
;; tests update-records-from-instance
(deftest :oodml/update-records/1
(values
"Lenin"]])
(("Lenin" "Widgets Inc.")))
-;(deftest :oodml/iteration/3
-; (loop for (e) being the tuples in
-; [select 'employee :where [married] :order-by [emplid]]
-; collect (slot-value e 'last-name))
-; ("Lenin" "Stalin" "Trotsky"))
+(deftest :oodml/iteration/3
+ (loop for (e) being the records in
+ [select 'employee :where [< [emplid] 4] :order-by [emplid]]
+ collect (slot-value e 'last-name))
+ ("Lenin" "Stalin" "Trotsky"))
))