82 lines
2.7 KiB
Clojure
82 lines
2.7 KiB
Clojure
(ns cc.journeyman.the-great-game.time-test
|
|
(:require [clojure.test :refer [deftest is testing]]
|
|
;; [clojure.core.async :refer [thread <!]]
|
|
[cc.journeyman.the-great-game.time :refer
|
|
[date-string day days-in-season days-in-week game-day-length
|
|
game-time game-start-time now season week]]))
|
|
|
|
(deftest now-tests
|
|
(testing "Time progresses"
|
|
(let [t1 (now)]
|
|
(is (> t1 game-start-time))
|
|
(Thread/sleep 1000)
|
|
(is (> (now) t1)))))
|
|
|
|
(deftest game-time-tests
|
|
(testing "Getting game-time"
|
|
(is (= (game-time (inc game-start-time)) 1))))
|
|
|
|
(deftest calendar-tests
|
|
(testing "In-game calendar functions"
|
|
(let [expected :foot
|
|
actual (day 0)]
|
|
(is (= actual expected)))
|
|
(let [expected :stomach
|
|
actual (day (* 5 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :foot
|
|
actual (day (* days-in-week game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :first ;; waiting day
|
|
actual (day (* 360 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :first
|
|
actual (week 0)]
|
|
(is (= actual expected)))
|
|
(let [expected :second
|
|
actual (week (* days-in-week game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :first
|
|
actual (week (* days-in-season game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :foot
|
|
actual (season 0)]
|
|
(is (= actual expected)))
|
|
(let [expected :mouth
|
|
actual (season (* 180 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :eye
|
|
actual (season (* 359 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :waiting
|
|
actual (season (* 360 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected :foot
|
|
actual (season (* 365 game-day-length))]
|
|
(is (= actual expected)))))
|
|
|
|
(deftest date-string-tests
|
|
(testing "Date-string formatting"
|
|
(let [expected "First Foot of the Foot"
|
|
actual (date-string 0)]
|
|
(is (= actual expected)))
|
|
(let [expected "First Foot of the Nose"
|
|
actual (date-string
|
|
(* days-in-season game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected "Third Mouth of the Mouth"
|
|
actual (date-string (* 180 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected "Fifth Plough of the Eye"
|
|
actual (date-string (* 359 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected "First waiting day"
|
|
actual (date-string (* 360 game-day-length))]
|
|
(is (= actual expected)))
|
|
(let [expected "First Foot of the Foot"
|
|
actual (date-string (* 365 game-day-length))]
|
|
(is (= actual expected)))))
|
|
|
|
|
|
|