Skip to content

Commit f1e8053

Browse files
committed
First test of the vector-sum function using midje.
1 parent 3f7668b commit f1e8053

4 files changed

Lines changed: 30 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ Hyperspace is a [Slingshot](http://slingshot.wikispot.org/) clone written in Clo
55

66
Use `lein run` to run the game.
77

8-
`lein test` will run some tests.
8+
`lein midje` will run some tests.

project.clj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@
44
[org.lwjgl/lwjgl "2.7.1"]
55
[org.lwjgl/lwjgl-util "2.7.1"]
66
[org.lwjgl/lwjgl-native-platform "2.7.1"]]
7+
:dev-dependencies [[midje "1.4.0"]
8+
[lein-midje "1.0.10"]]
79
:main hyperspace.main)

test/hyperspace/test/geometry.clj

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
(ns hyperspace.test.geometry
2+
(:use [hyperspace.geometry]
3+
[hyperspace.test.utils]
4+
[midje.sweet]))
5+
6+
(fact "about vector-sum function"
7+
;; One-dimensional integer vectors
8+
(vector-sum [2] [2]) => [4]
9+
10+
;; Two-dimensional integer vectors
11+
(vector-sum [5, 5] [2, 3]) => [7, 8]
12+
13+
;; Tree-dimenstional integer vectors
14+
(vector-sum [1, 2, 3] [4, 5, 6]) => [5, 7, 9]
15+
16+
;; Floating point vectors
17+
(vector-sum [0.2, 0.4] [0.1, 0.3]) => (just [(almost= 0.3)
18+
(almost= 0.7)]))

test/hyperspace/test/utils.clj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
(ns hyperspace.test.utils)
2+
3+
(defn equal-with-eps
4+
[eps a b]
5+
(< (Math/abs (- a b)) eps))
6+
7+
(defn almost=
8+
[x]
9+
(partial equal-with-eps 1e-6 x))

0 commit comments

Comments
 (0)