Sha256: e4018b4d77d9a3fe2db0bc2f47282d6ebaf7a9c25dedba237e589549cb58b0be

Contents?: true

Size: 1.26 KB

Versions: 396

Compression:

Stored size: 1.26 KB

Contents

(ns robot-simulator-test
  (:require [clojure.test :refer [deftest is]]
            robot-simulator))

(def robbie (robot-simulator/robot {:x -2 :y 1} :east))

(deftest can-get-vals
  (is (= :east (:bearing robbie)))
  (is (= {:x -2 :y 1} (:coordinates robbie))))

(deftest can-turn
  (is (= :north (robot-simulator/turn-right :west)))
  (is (= :west  (robot-simulator/turn-left :north))))

(deftest can-simulate
  (is (= :west (:bearing (robot-simulator/simulate "RLAALAL" robbie))))
  (is (= {:x 0 :y 2}
         (:coordinates (robot-simulator/simulate "RLAALAL" robbie)))))

(deftest simulate-clutz
  (let [clutz (->> (robot-simulator/robot {:x 0 :y  0} :north)
                   (robot-simulator/simulate "LAAARALA"))]
    (is (= :west (:bearing clutz)))
    (is (= {:x -4 :y 1} (:coordinates clutz)))))

(deftest simulate-sphero
  (let [sphero (->> (robot-simulator/robot {:x 2 :y -7} :east)
                    (robot-simulator/simulate "RRAAAAALA"))]
    (is (= :south (:bearing sphero)))
    (is (= {:x -3 :y -8} (:coordinates sphero)))))

(deftest simulate-roomba
  (let [roomba (->> (robot-simulator/robot {:x 8 :y  4} :south)
                    (robot-simulator/simulate "LAAARRRALLLL"))]
    (is (= :north (:bearing roomba)))
    (is (= {:x 11 :y 5} (:coordinates roomba)))))

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.179 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.178 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.177 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.176 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.175 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.174 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.173 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.172 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.171 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.170 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.169 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.167 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.166 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.165 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.164 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.163 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.162 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.161 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj
trackler-2.2.1.160 tracks/clojure/exercises/robot-simulator/test/robot_simulator_test.clj