You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.9 KiB
85 lines
2.9 KiB
4 years ago
|
(ns bob-test
|
||
|
(:require [clojure.test :refer [deftest is]]
|
||
|
bob))
|
||
|
|
||
|
(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-shouting-gibberish
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "FCECDFCAAB"))))
|
||
|
|
||
|
(deftest responds-to-questions
|
||
|
(is (= "Sure."
|
||
|
(bob/response-for "Does this cryogenic chamber make me look fat?"))))
|
||
|
|
||
|
(deftest responds-to-numeric-question
|
||
|
(is (= "Sure." (bob/response-for "You are, what, like 15?"))))
|
||
|
|
||
|
(deftest responds-to-gibberish-question
|
||
|
(is (= "Sure." (bob/response-for "fffbbcbeab?"))))
|
||
|
|
||
|
(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 (= "Calm down, I know what I'm doing!"
|
||
|
(bob/response-for "WHAT THE HELL WERE YOU THINKING?"))))
|
||
|
|
||
|
(deftest responds-to-shouting-numbers
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "1, 2, 3 GO!"))))
|
||
|
|
||
|
(deftest responds-to-no-letters
|
||
|
(is (= "Whatever." (bob/response-for "1, 2, 3"))))
|
||
|
|
||
|
(deftest responds-to-question-with-no-letters
|
||
|
(is (= "Sure." (bob/response-for "4?"))))
|
||
|
|
||
|
(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-with-no-exclamation-mark
|
||
|
(is (= "Whoa, chill out!" (bob/response-for "I HATE THE DMV"))))
|
||
|
|
||
|
(deftest responds-to-statement-containing-question-mark
|
||
|
(is (= "Whatever." (bob/response-for "Ending with ? means a question."))))
|
||
|
|
||
|
(deftest responds-to-non-letters-with-question
|
||
|
(is (= "Sure." (bob/response-for ":) ?"))))
|
||
|
|
||
|
(deftest responds-to-prattling-on
|
||
|
(is (= "Sure." (bob/response-for "Wait! Hang on. Are you going to be OK?"))))
|
||
|
|
||
|
(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-alternate-silence
|
||
|
(is (= "Fine. Be that way!" (bob/response-for "\t\t\t\t\t\t\t\t\t\t"))))
|
||
|
|
||
|
(deftest responds-to-multiple-line-question
|
||
|
(is (= "Whatever."
|
||
|
(bob/response-for "\nDoes this cryogenic chamber make me look fat?\nNo."))))
|
||
|
|
||
|
(deftest responds-to-starting-with-whitespace
|
||
|
(is (= "Whatever." (bob/response-for " hmmmmmmm..."))))
|
||
|
|
||
|
(deftest responds-to-ending-with-whitespace
|
||
|
(is (= "Sure." (bob/response-for "Okay if like my spacebar quite a bit? "))))
|
||
|
|
||
|
(deftest responds-to-other-whitespace
|
||
|
(is (= "Fine. Be that way!" (bob/response-for "\n\r \t"))))
|
||
|
|
||
|
(deftest responds-to-non-question-ending-with-whitespace
|
||
|
(is (= "Whatever."
|
||
|
(bob/response-for "This is a statement ending with whitespace "))))
|