X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tests%2Ftest-basic.lisp;h=ba55fba6e008991044db75a168967a4c3b81efcb;hb=fd11963eb2f46ffac6da2b18fab3d7ff2a4390cf;hp=37639e311df1d587e3ce1a6ac18fe1b03b7ccb47;hpb=1751e5245c270bd1ee854a98dfe6caa665abe34e;p=clsql.git diff --git a/tests/test-basic.lisp b/tests/test-basic.lisp index 37639e3..ba55fba 100644 --- a/tests/test-basic.lisp +++ b/tests/test-basic.lisp @@ -38,20 +38,24 @@ (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) (destructuring-bind (int float bigint str) row (push (list (integerp int) (typep float 'double-float) - (integerp bigint) + (if (and (eq :odbc *test-database-type*) + (eq :postgresql *test-database-underlying-type*)) + ;; ODBC/Postgresql returns bigints as strings + (stringp bigint) + (integerp bigint)) (stringp str)) 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/TYPE/2 + (deftest :BASIC/TYPE/2 (let ((results '())) (dolist (row (query "select * from TYPE_TABLE" :result-types :auto) results) @@ -67,14 +71,14 @@ ))) (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) @@ -86,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) @@ -100,10 +104,11 @@ 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))) + (declare (array rows)) (dotimes (i (length rows) results) (push (list @@ -118,7 +123,7 @@ 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))) @@ -135,10 +140,27 @@ (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)) @@ -148,6 +170,19 @@ 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))) ))