Skip to content

Instantly share code, notes, and snippets.

@timvisher
Created August 4, 2013 01:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save timvisher/6148606 to your computer and use it in GitHub Desktop.
Save timvisher/6148606 to your computer and use it in GitHub Desktop.
(ns bible-plan.reference-test
(:require [cemerick.cljs.test :as t]
[bible-plan.reference :as ref])
(:require-macros [cemerick.cljs.test :refer (is deftest with-test run-tests testing)]))
(deftest it-expands-to-full-book-name
(is (= "Amos" (ref/->str {:start {:book 30}}))))
(deftest start-and-only-chapter
(is (= "Am. 1" (ref/->str {:start {:book 30 :chapter 1}}))))
(deftest book-chapter-and-verse
(is (= "Am. 1.1" (ref/->str {:start {:book 30 :chapter 1 :verse 1}}))))
(deftest start-and-end-when-start-has-no-verse-and-verses-are-different
(is (= "Am. 1.1-15" (ref/->str {:start {:book 30 :chapter 1} :end {:book 30 :chapter 1 :verse 15}}))))
(deftest start-and-end-when-both-have-verses
(is (= "Am. 1.16-32" (ref/->str {:start {:book 30 :chapter 1 :verse 16} :end {:book 30 :chapter 1 :verse 32}}))))
(deftest start-and-end-when-books-not-ascending
(is (thrown-with-msg? js/Error #"reference<" (ref/->str {:start {:book 30 :chapter 1} :end {:book 29 :chapter 1}}))))
(deftest start-and-end-when-ascending
(is (= "Am.-Jon. 3" (ref/->str {:start {:book 30 :chapter 1} :end {:book 32 :chapter 3}}))))
(deftest start-and-end-when-verses-not-ascending
(is (thrown-with-msg? js/Error #"reference<" (ref/->str {:start {:book 30 :chapter 1 :verse 15} :end {:book 30 :chapter 1 :verse 1}}))))
(comment
(t/test-ns 'bible-plan.reference-test)
(swap! t/registered-tests assoc 'bible-plan.reference-test #{})
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment