49 lines
1.6 KiB
Clojure
49 lines
1.6 KiB
Clojure
|
(ns bob-test
|
||
|
(:require [clojure.test :refer :all]))
|
||
|
|
||
|
(load-file "bob.clj")
|
||
|
|
||
|
(deftest responds-to-something
|
||
|
(is (= "Whatever." (bob/response-for "Tom-ay-to, tom-aaaah-to."))))
|
||
|
|
||
|
(deftest responds-to-shouts
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "WATCH OUT!"))))
|
||
|
|
||
|
(deftest responds-to-questions
|
||
|
(is (= "Sure." (bob/response-for "Does this cryogenic chamber make me look fat?"))))
|
||
|
|
||
|
(deftest responds-to-forceful-talking
|
||
|
(is (= "Whatever." (bob/response-for "Let's go make out behind the gym!"))))
|
||
|
|
||
|
(deftest responds-to-acronyms
|
||
|
(is (= "Whatever." (bob/response-for "It's OK if you don't want to go to the DMV."))))
|
||
|
|
||
|
(deftest responds-to-forceful-questions
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "WHAT THE HELL WERE YOU THINKING?"))))
|
||
|
|
||
|
(deftest responds-to-shouting-with-special-characters
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"))))
|
||
|
|
||
|
(deftest responds-to-shouting-numbers
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "1, 2, 3 GO!"))))
|
||
|
|
||
|
(deftest responds-to-shouting-with-no-exclamation-mark
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "I HATE YOU"))))
|
||
|
|
||
|
(deftest responds-to-statement-containing-question-mark
|
||
|
(is (= "Whatever." (bob/response-for "Ending with ? means a question."))))
|
||
|
|
||
|
(deftest responds-to-silence
|
||
|
(is (= "Fine. Be that way!" (bob/response-for ""))))
|
||
|
|
||
|
(deftest responds-to-prolonged-silence
|
||
|
(is (= "Fine. Be that way!" (bob/response-for " "))))
|
||
|
|
||
|
(deftest responds-to-only-numbers
|
||
|
(is (= "Whatever." (bob/response-for "1, 2, 3"))))
|
||
|
|
||
|
(deftest responds-to-number-question
|
||
|
(is (= "Sure." (bob/response-for "4?"))))
|
||
|
|
||
|
(run-tests)
|