summaryrefslogtreecommitdiff
path: root/exercism/emacs-lisp/anagram/anagram-test.el
diff options
context:
space:
mode:
Diffstat (limited to 'exercism/emacs-lisp/anagram/anagram-test.el')
-rw-r--r--exercism/emacs-lisp/anagram/anagram-test.el56
1 files changed, 56 insertions, 0 deletions
diff --git a/exercism/emacs-lisp/anagram/anagram-test.el b/exercism/emacs-lisp/anagram/anagram-test.el
new file mode 100644
index 0000000..9900d43
--- /dev/null
+++ b/exercism/emacs-lisp/anagram/anagram-test.el
@@ -0,0 +1,56 @@
+;;; anagram-test.el --- Tests for Anagram (exercism)
+
+;;; Commentary:
+
+;;; Code:
+
+(load-file "anagram.el")
+
+(ert-deftest no-matches ()
+ (should (equal '() (anagrams-for
+ "diaper"
+ '("hello" "world" "zombies" "pants")))))
+
+(ert-deftest detect-simple-anagram ()
+ (should (equal '("tan") (anagrams-for
+ "ant"
+ '("tan" "stand" "at")))))
+
+(ert-deftest does-not-confuse-different-duplicates ()
+ (should (equal '() (anagrams-for
+ "galea"
+ '("eagle")))))
+
+(ert-deftest eliminate-anagram-subsets ()
+ (should (equal '() (anagrams-for
+ "good"
+ '("dog" "goody")))))
+
+(ert-deftest detect-anagram ()
+ (should (equal '("inlets") (anagrams-for
+ "listen"
+ '("enlists" "google" "inlets" "banana")))))
+
+(ert-deftest multiple-anagrams ()
+ (should (equal '("gallery" "regally" "largely")
+ (anagrams-for
+ "allergy"
+ '("gallery" "ballerina" "regally" "clergy" "largely" "leading")))))
+
+(ert-deftest case-insensitive-anagrams ()
+ (should (equal '("Carthorse")
+ (anagrams-for
+ "Orchestra"
+ '("cashregister" "Carthorse" "radishes")))))
+(anagrams-for
+ "Orchestra"
+ '("cashregister" "Carthorse" "radishes"))
+(ert-deftest word-is-not-own-anagram ()
+ (should (equal '()
+ (anagrams-for
+ "banana"
+ '("banana")))))
+
+
+(provide 'anagram-test)
+;;; anagram-test.el ends here