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.
84 lines
2.9 KiB
84 lines
2.9 KiB
(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 "))))
|
|
|