added get-registers helper function to registers-test

This commit is contained in:
Richard Harrington 2013-08-10 14:29:17 -04:00
parent d0a1933b7d
commit d07ab0607c

View File

@ -8,11 +8,12 @@
(def robot-path [:robots 0])
(def reg-path [:robots 0 :brain :registers])
(def registers (get-in world reg-path))
(def get-registers #(get-in % reg-path))
(deftest storage-register-test
(testing "can write and read to storage register's :val field"
(let [new-world (write-register (registers "A") world 42)
new-registers (get-in new-world reg-path)]
new-registers (get-registers new-world)]
(is (= (read-register (new-registers "A") new-world)
42))
(is (= (get-in new-registers ["A" :val])
@ -22,11 +23,11 @@
(testing "registers whose index numbers are push to INDEX can
be referenced by accessing DATA"
(let [world1 (write-register (registers "A") world 42)
registers1 (get-in world1 reg-path)
registers1 (get-registers world1)
world2 (write-register (registers1 "INDEX") world1 1)
registers2 (get-in world2 reg-path)
registers2 (get-registers world2)
world3 (write-register (registers2 "DATA") world2 100)
registers3 (get-in world3 reg-path)]
registers3 (get-registers world3)]
(is (= (read-register (registers2 "DATA") world2)
42))
(is (= (read-register (registers3 "A") world3)
@ -37,7 +38,7 @@
and read a series of numbers all different
from random register"
(let [new-world (write-register (registers "RANDOM") world 1000)
new-registers (get-in new-world reg-path)
new-registers (get-registers new-world)
random-nums (repeatedly 5 (partial read-register (new-registers "RANDOM") new-world))]
(is (= (get-in new-registers ["RANDOM" :val])
1000))