r9228: add tests for result-types for map-query and do-query, ignore incorrect select...
[clsql.git] / tests / test-basic.lisp
index 85874a4d4ed3015ed25b2b035117b5666d0de9cd..ba55fba6e008991044db75a168967a4c3b81efcb 100644 (file)
@@ -38,7 +38,7 @@
   (append
    (test-basic-forms-untyped)
    '(
-     (deftest BASIC/TYPE/1
+     (deftest :BASIC/TYPE/1
        (let ((results '()))
          (dolist (row (query "select * from TYPE_TABLE" :result-types :auto)
                    results)
@@ -55,7 +55,7 @@
       ((t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t)))
     
 
-     (deftest BASIC/TYPE/2
+     (deftest :BASIC/TYPE/2
         (let ((results '()))
           (dolist (row (query "select * from TYPE_TABLE" :result-types :auto)
                     results)
      )))
 
 (defun test-basic-forms-untyped ()
-  '((deftest BASIC/SELECT/1
+  '((deftest :BASIC/SELECT/1
        (let ((rows (query "select * from TYPE_TABLE" :result-types :auto)))
          (values 
           (length rows)
           (length (car rows))))
       11 4)
     
-    (deftest BASIC/SELECT/2
+    (deftest :BASIC/SELECT/2
        (let ((results '()))
          (dolist (row (query "select * from TYPE_TABLE" :result-types nil)
                    results)
@@ -90,7 +90,7 @@
                    results))))
       ((t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t) (t t t t)))
     
-    (deftest BASIC/SELECT/3
+    (deftest :BASIC/SELECT/3
        (let ((results '()))
          (dolist (row (query "select * from TYPE_TABLE" :result-types nil)
                    results)
                    results))))
       ((t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t)))
 
-    (deftest BASIC/MAP/1
+    (deftest :BASIC/MAP/1
        (let ((results '())
              (rows (map-query 'vector #'list "select * from TYPE_TABLE" 
                               :result-types nil)))
             results)))
       ((t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t)))
     
-    (deftest BASIC/MAP/2
+    (deftest :BASIC/MAP/2
        (let ((results '())
              (rows (map-query 'list #'list "select * from TYPE_TABLE" 
                               :result-types nil)))
               (parse-double (second (nth i rows)))))
             results)))
       ((t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t)))
+    
+    (deftest :BASIC/MAP/3
+           (let ((results '())
+             (rows (map-query 'list #'list "select * from TYPE_TABLE" 
+                              :result-types :auto)))
+             (dotimes (i (length rows) results)
+               (push
+                (list
+                 (listp (nth i rows))
+                 (length (nth i rows))
+                 (eql (- i 5)
+                      (first (nth i rows)))
+                 (double-float-equal
+                  (transform-float-1 (first (nth i rows)))
+                  (second (nth i rows))))
+                results)))
+      ((t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t) (t 4 t t)))
 
-    (deftest BASIC/DO/1
+    (deftest :BASIC/DO/1
        (let ((results '()))
-         (do-query ((int float bigint str) "select * from TYPE_TABLE")
+         (do-query ((int float bigint str) "select * from TYPE_TABLE" :result-types nil)
            (push (list (double-float-equal 
                         (transform-float-1 (parse-integer int))
                         (parse-double float))
                  results))
          results)
       ((t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t)))
+    
+    (deftest :BASIC/DO/2
+       (let ((results '()))
+         (do-query ((int float bigint str) "select * from TYPE_TABLE" :result-types :auto)
+           (push (list (double-float-equal 
+                        (transform-float-1 int)
+                        float)
+                       (double-float-equal
+                        (parse-double str)
+                        float))
+                 results))
+         results)
+      ((t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t) (t t)))
     ))