aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib/test_dataflow.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/test_contrib/test_dataflow.clj')
-rw-r--r--src/clojure/contrib/test_contrib/test_dataflow.clj90
1 files changed, 0 insertions, 90 deletions
diff --git a/src/clojure/contrib/test_contrib/test_dataflow.clj b/src/clojure/contrib/test_contrib/test_dataflow.clj
deleted file mode 100644
index 8b934dc3..00000000
--- a/src/clojure/contrib/test_contrib/test_dataflow.clj
+++ /dev/null
@@ -1,90 +0,0 @@
-;; Copyright (c) Jeffrey Straszheim. All rights reserved. The use and
-;; distribution terms for this software are covered by the Eclipse Public
-;; License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can
-;; be found in the file epl-v10.html 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.
-;;
-;; test-dataflow
-;;
-;; A Library to Support a Dataflow Model of State - Tests
-;;
-;; straszheimjeffrey (gmail)
-;; Created 11 March 2009
-
-
-(ns clojure.contrib.test-contrib.test-dataflow
- (:use clojure.test)
- (:use clojure.contrib.dataflow))
-
-(def df-1
- (build-dataflow
- [(cell :source base 0)
- (cell :source items ())
- (cell product (* ?base (apply + ?items)))
- (cell :validator (when (number? ?-product)
- (assert (>= ?product ?-product))))]))
-
-(deftest test-df-1
- (is (= (get-value df-1 'product) 0))
- (is (do (update-values df-1 {'items [4 5]})
- (= (get-value df-1 'product) 0)))
- (is (do (update-values df-1 {'base 2})
- (= (get-value df-1 'product) 18)))
- (is (thrown? AssertionError (update-values df-1 {'base 0})))
- (is (= (get-value df-1 'product) 18)))
-
-(def df-2
- (build-dataflow
- [(cell :source strength 10)
- (cell :source agility 10)
- (cell :source magic 10)
-
- (cell total-cost (apply + ?*cost))
-
- (cell cost (- ?strength 10))
- (cell cost (- ?agility 10))
- (cell cost (- ?magic 10))
-
- (cell combat (+ ?strength ?agility ?combat-mod))
- (cell speed (+ ?agility (/ ?strength 10.0) ?speed-mod))
- (cell casting (+ ?agility ?magic ?magic-mod))
-
- (cell combat-mod (apply + ?*combat-mods))
- (cell speed-mod (apply + ?*speed-mods))
- (cell magic-mod (apply + ?*magic-mods))]))
-
-(def magic-skill
- [(cell cost 5)
- (cell speed-mods 1)
- (cell magic-mods 2)])
-
-(defn gv [n] (get-value df-2 n))
-
-(deftest test-df-2
- (is (and (= (gv 'total-cost) 0)
- (= (gv 'strength) 10)
- (= (gv 'casting) 20)))
- (is (do (update-values df-2 {'magic 12})
- (and (= (gv 'total-cost) 2)
- (= (gv 'casting) 22))))
- (is (do (add-cells df-2 magic-skill)
- (and (= (gv 'total-cost) 7)
- (= (gv 'casting) 24))))
- (is (do (remove-cells df-2 magic-skill)
- (and (= (gv 'total-cost) 2)
- (= (gv 'casting) 22)))))
-
-
-(comment
- (run-tests)
-
- (use :reload 'clojure.contrib.dataflow)
- (use 'clojure.contrib.stacktrace) (e)
- (use 'clojure.contrib.trace)
-
-)
-
-
-;; End of file