test/caves/core_test.clj @ 46c1c8ca77ff default tip

Added tag entry-07-1 for changeset b7c4387ab701
author Steve Losh <steve@stevelosh.com>
date Sat, 13 Oct 2012 16:30:19 -0400
parents a13a6a80dd59
children (none)
(ns caves.core-test
  (:import [caves.core UI World Game])
  (:use clojure.test
        caves.core))

(defn current-ui [game]
  (:kind (last (:uis game))))


(deftest test-start
  (let [game (new Game nil [(new UI :start)] nil)]
    (testing "Any key sends you to the play screen and generates a world."
      (let [results (map (partial process-input game)
                         [:enter \space \a \A :escape :up :backspace])]
        (doseq [result results]
          (is (= (current-ui result) :play))
          (is (not= nil (:world result))))))))