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)
    '(
   (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)
        (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)))
     
 
       ((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)
         (let ((results '()))
           (dolist (row (query "select * from TYPE_TABLE" :result-types :auto)
                     results)
      )))
 
 (defun test-basic-forms-untyped ()
      )))
 
 (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)
     
        (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)
        (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)))
     
                    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)
        (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)))
 
                    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)))
        (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)))
     
             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)))
        (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)))
               (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 '()))
        (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))
            (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)))
                  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)))
     ))
 
 
     ))