aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_clojure
diff options
context:
space:
mode:
authorscgilardi <scgilardi@gmail.com>2008-10-30 16:41:28 +0000
committerscgilardi <scgilardi@gmail.com>2008-10-30 16:41:28 +0000
commit89c615f39c4b48d5193cefa531bdba062944f6a1 (patch)
treec72ea5afd479fce59f5766b97d9cb21a63f20aaf /src/clojure/contrib/test_clojure
parent427bc999c3ac6aaf5090002cc553328b89b1495d (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.clj71
-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.clj18
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))))