diff options
author | scgilardi <scgilardi@gmail.com> | 2008-10-30 16:41:28 +0000 |
---|---|---|
committer | scgilardi <scgilardi@gmail.com> | 2008-10-30 16:41:28 +0000 |
commit | 89c615f39c4b48d5193cefa531bdba062944f6a1 (patch) | |
tree | c72ea5afd479fce59f5766b97d9cb21a63f20aaf /src/clojure/contrib/test_clojure | |
parent | 427bc999c3ac6aaf5090002cc553328b89b1495d (diff) |
another restructure to give more useful results
Diffstat (limited to 'src/clojure/contrib/test_clojure')
-rw-r--r-- | src/clojure/contrib/test_clojure/numbers/numbers.clj | 71 | ||||
-rw-r--r-- | src/clojure/contrib/test_clojure/printer/printer.clj (renamed from src/clojure/contrib/test_clojure/tests/printer.clj) | 17 | ||||
-rw-r--r-- | src/clojure/contrib/test_clojure/reader/reader.clj (renamed from src/clojure/contrib/test_clojure/tests/reader.clj) | 33 | ||||
-rw-r--r-- | src/clojure/contrib/test_clojure/test_clojure.clj | 18 |
4 files changed, 125 insertions, 14 deletions
diff --git a/src/clojure/contrib/test_clojure/numbers/numbers.clj b/src/clojure/contrib/test_clojure/numbers/numbers.clj new file mode 100644 index 00000000..53bac1b4 --- /dev/null +++ b/src/clojure/contrib/test_clojure/numbers/numbers.clj @@ -0,0 +1,71 @@ +;; Copyright (c) Stephen C. Gilardi. All rights reserved. The use and +;; distribution terms for this software are covered by the Common Public +;; License 1.0 (http://opensource.org/licenses/cpl.php) which can be found +;; in the file CPL.TXT at the root of this distribution. By using this +;; software in any fashion, you are agreeing to be bound by the terms of +;; this license. You must not remove this notice, or any other, from this +;; software. +;; +;; Tests for the Clojure functions documented at the URL: +;; +;; http://clojure.org/Reader +;; +;; scgilardi (gmail) +;; Created 22 October 2008 + +(ns clojure.contrib.test-clojure.numbers + (:use clojure.contrib.test-is)) + +(deftest Coerced-Byte + (let [v (byte 3)] + (is (instance? Byte v)) + (is (number? v)) + (is (integer? v)) + (is (rational? v)))) + +(deftest Coerced-Short + (let [v (short 3)] + (is (instance? Short v)) + (is (number? v)) + (is (integer? v)) + (is (rational? v)))) + +(deftest Coerced-Integer + (let [v (int 3)] + (is (instance? Integer v)) + (is (number? v)) + (is (integer? v)) + (is (rational? v)))) + +(deftest Coerced-Long + (let [v (long 3)] + (is (instance? Long v)) + (is (number? v)) + (is (integer? v)) + (is (rational? v)))) + +(deftest Coerced-BigInteger + (let [v (bigint 3)] + (is (instance? BigInteger v)) + (is (number? v)) + (is (integer? v)) + (is (rational? v)))) + +(deftest Coerced-Float + (let [v (float 3)] + (is (instance? Float v)) + (is (number? v)) + (is (float? v)))) + +(deftest Coerced-Double + (let [v (double 3)] + (is (instance? Double v)) + (is (number? v)) + (is (float? v)))) + +(deftest Coerced-BigDecimal + (let [v (bigdec 3)] + (is (instance? BigDecimal v)) + (is (number? v)) + (is (decimal? v)) + (is (not (float? v))))) diff --git a/src/clojure/contrib/test_clojure/tests/printer.clj b/src/clojure/contrib/test_clojure/printer/printer.clj index d5779ec1..b5ea9b76 100644 --- a/src/clojure/contrib/test_clojure/tests/printer.clj +++ b/src/clojure/contrib/test_clojure/printer/printer.clj @@ -6,15 +6,20 @@ ;; this license. You must not remove this notice, or any other, from this ;; software. ;; +;; clojure.contrib.test-clojure.printer +;; ;; scgilardi (gmail) ;; Created 29 October 2008 -(deftest t-print-length-empty-seq +(ns clojure.contrib.test-clojure.printer + (:use clojure.contrib.test-is)) + +(deftest print-length-empty-seq (let [coll () val "()"] (is (= val (binding [*print-length* 0] (print-str coll)))) (is (= val (binding [*print-length* 1] (print-str coll)))))) -(deftest t-print-length-seq +(deftest print-length-seq (let [coll (range 5) length-val '((0 "(...)") (1 "(0 ...)") @@ -26,12 +31,12 @@ (binding [*print-length* length] (is (= val (print-str coll))))))) -(deftest t-print-length-empty-vec +(deftest print-length-empty-vec (let [coll [] val "[]"] (is (= val (binding [*print-length* 0] (print-str coll)))) (is (= val (binding [*print-length* 1] (print-str coll)))))) -(deftest t-print-length-vec +(deftest print-length-vec (let [coll [0 1 2 3 4] length-val '((0 "[...]") (1 "[0 ...]") @@ -43,7 +48,7 @@ (binding [*print-length* length] (is (= val (print-str coll))))))) -(deftest t-print-level-seq +(deftest print-level-seq (let [coll '(0 (1 (2 (3 (4))))) level-val '((0 "#") (1 "(0 #)") @@ -55,7 +60,7 @@ (binding [*print-level* level] (is (= val (print-str coll))))))) -(deftest t-print-level-length-coll +(deftest print-level-length-coll (let [coll '(if (member x y) (+ (first x) 3) (foo (a b c d "Baz"))) level-length-val '((0 1 "#") diff --git a/src/clojure/contrib/test_clojure/tests/reader.clj b/src/clojure/contrib/test_clojure/reader/reader.clj index 7517b588..e949eff2 100644 --- a/src/clojure/contrib/test_clojure/tests/reader.clj +++ b/src/clojure/contrib/test_clojure/reader/reader.clj @@ -13,9 +13,12 @@ ;; scgilardi (gmail) ;; Created 22 October 2008 +(ns clojure.contrib.test-clojure.reader + (:use clojure.contrib.test-is)) + ;; Symbols -(deftest t-Symbols +(deftest Symbols (is (= 'abc (symbol "abc"))) (is (= '*+!-_? (symbol "*+!-_?"))) (is (= 'abc:def:ghi (symbol "abc:def:ghi"))) @@ -30,7 +33,7 @@ ;; Strings -(deftest t-Strings +(deftest Strings (is (= "abcde" (str \a \b \c \d \e))) (is (= "abc def" (str \a \b \c \newline \space \space \d \e \f))) @@ -38,7 +41,31 @@ ;; Numbers -(deftest t-Numbers) +(deftest Numbers + + ; Read Integer + (is (instance? Integer 2147483647)) + (is (instance? Integer +1)) + (is (instance? Integer 1)) + (is (instance? Integer +0)) + (is (instance? Integer 0)) + (is (instance? Integer -0)) + (is (instance? Integer -1)) + (is (instance? Integer -2147483648)) + + ; Read BigInteger + (is (instance? BigInteger 2147483648)) + (is (instance? BigInteger -2147483649)) + + ; Read Double + (is (instance? Double +1.0)) + (is (instance? Double 1.0)) + (is (instance? Double +0.0)) + (is (instance? Double 0.0)) + (is (instance? Double -0.0)) + (is (instance? Double -1.0)) +) + ;; Characters diff --git a/src/clojure/contrib/test_clojure/test_clojure.clj b/src/clojure/contrib/test_clojure/test_clojure.clj index f051c9af..9dd23f17 100644 --- a/src/clojure/contrib/test_clojure/test_clojure.clj +++ b/src/clojure/contrib/test_clojure/test_clojure.clj @@ -15,10 +15,18 @@ (ns clojure.contrib.test-clojure (:import (java.io File FilenameFilter)) - (:use clojure.contrib.test-is) - (:load "tests/reader.clj" - "tests/printer.clj")) + (:use clojure.contrib.test-is)) + +(def tests [:reader :printer :numbers]) + +(defn test-name + [test] + (symbol (str "clojure.contrib.test-clojure." (name test)))) + +(doseq test tests + (require (test-name test))) (binding [*test-out* (java.io.PrintWriter. *out*)] - (run-tests) - (println)) + (doseq test tests + (println "\n\n=====>" test) + (run-tests (test-name test)))) |