summaryrefslogtreecommitdiff
path: root/exercism/emacs-lisp/bob/bob-test.el
diff options
context:
space:
mode:
Diffstat (limited to 'exercism/emacs-lisp/bob/bob-test.el')
-rw-r--r--exercism/emacs-lisp/bob/bob-test.el111
1 files changed, 111 insertions, 0 deletions
diff --git a/exercism/emacs-lisp/bob/bob-test.el b/exercism/emacs-lisp/bob/bob-test.el
new file mode 100644
index 0000000..701f510
--- /dev/null
+++ b/exercism/emacs-lisp/bob/bob-test.el
@@ -0,0 +1,111 @@
+;;; bob-test.el --- ERT tests for Bob (exercism)
+
+;;; Commentary:
+;; Common test data version: 1.2.0 6dc2014
+
+;;; Code:
+
+(load-file "bob.el")
+
+
+(ert-deftest responds-to-stating-something ()
+ (should (string= "Whatever." (response-for "Tom-ay-to, tom-aaaah-to."))))
+
+(ert-deftest responds-to-shouting ()
+ (should
+ (string= "Whoa, chill out!" (response-for "WATCH OUT!"))))
+
+(ert-deftest responds-to-shouting-gibberish ()
+ (should
+ (string= "Whoa, chill out!" (response-for "FCECDFCAAB"))))
+
+(ert-deftest responds-to-asking-a-question ()
+ (should
+ (string= "Sure." (response-for "Does this cryogenic chamber make me look fat?"))))
+
+(ert-deftest responds-to-asking-a-numeric-question ()
+ (should
+ (string= "Sure." (response-for "You are, what, like 15?"))))
+
+(ert-deftest responds-to-asking-gibberish ()
+ (should
+ (string= "Sure." (response-for "fffbbcbeab?"))))
+
+(ert-deftest responds-to-talking-forcefully ()
+ (should
+ (string= "Whatever." (response-for "Let's go make out behind the gym!"))))
+
+(ert-deftest responds-to-using-acronyms-in-regular-speech ()
+ (should
+ (string= "Whatever." (response-for "It's OK if you don't want to go to the DMV."))))
+
+(ert-deftest responds-to-forceful-question ()
+ (should
+ (string= "Calm down, I know what I'm doing!" (response-for "WHAT THE HELL WERE YOU THINKING?"))))
+
+(ert-deftest responds-to-shouting-numbers ()
+ (should
+ (string= "Whoa, chill out!" (response-for "1, 2, 3, GO!"))))
+
+(ert-deftest responds-to-only-numbers ()
+ (should
+ (string= "Whatever." (response-for "1, 2, 3"))))
+
+(ert-deftest responds-to-questions-with-only-numbers ()
+ (should
+ (string= "Sure." (response-for "4?"))))
+
+(ert-deftest responds-to-shouting-with-special-chars ()
+ (should
+ (string= "Whoa, chill out!" (response-for "ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!"))))
+
+(ert-deftest responds-to-shouting-with-no-exclamation-mark ()
+ (should
+ (string= "Whoa, chill out!" (response-for "I HATE YOU"))))
+
+(ert-deftest responds-to-statement-containing-question-mark ()
+ (should
+ (string= "Whatever." (response-for "Ending with ? means a question."))))
+
+(ert-deftest responds-to-non-letters-with-question ()
+ (should
+ (string= "Sure." (response-for ":) ?"))))
+
+(ert-deftest responds-to-prattling-on ()
+ (should
+ (string= "Sure." (response-for "Wait! Hang on. Are you going to be OK?"))))
+
+(ert-deftest responds-to-silence ()
+ (should
+ (string= "Fine. Be that way!" (response-for ""))))
+
+(ert-deftest responds-to-prolonged-silence ()
+ (should
+ (string= "Fine. Be that way!" (response-for " "))))
+
+(ert-deftest responds-to-alternate-silence ()
+ (should
+ (string= "Fine. Be that way!" (response-for "\t\t\t\t\t\t\t\t\t\t"))))
+
+(ert-deftest responds-to-multiple-line-question ()
+ (should
+ (string= "Whatever." (response-for "\nDoes this cryogenic chamber make me look fat?\nno"))))
+
+(ert-deftest responds-to-starting-with-whitespace ()
+ (should
+ (string= "Whatever." (response-for " hmmmmmmm..."))))
+
+(ert-deftest responds-to-ending-with-whitespace ()
+ (should
+ (string= "Sure." (response-for "Okay if like my spacebar quite a bit? "))))
+
+(ert-deftest responds-to-other-whitespace ()
+ (should
+ (string= "Fine. Be that way!" (response-for "\n\r \t"))))
+
+(ert-deftest responds-to-non-question-ending-with-whitespace ()
+ (should
+ (string= "Whatever." (response-for "This is a statement ending with whitespace "))))
+
+(provide 'bob-test)
+;;;bob-test.el ends here