-
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Upgraded tests for anagram exercise.
- Loading branch information
1 parent
2686ef2
commit e368b57
Showing
2 changed files
with
146 additions
and
97 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,66 +1,66 @@ | ||
[ | ||
{ | ||
"name": "no matches", | ||
"test_code": "let\n actual = findAnagrams \"diaper\" [\"hello\", \"world\", \"zombies\", \"pants\"]\n Test.label.deprecated \"no matches\" <| Test.expect (actual === [])" | ||
"test_code": "verify do\n labeled \"no matches\" do\n expected = []\n actual = findAnagrams \"diaper\" [\"hello\", \"world\", \"zombies\", \"pants\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects two anagrams", | ||
"test_code": "let\n actual = findAnagrams \"solemn\" [\"lemons\",\"cherry\",\"melons\"]\n expected = [\"lemons\",\"melons\"]\n Test.label.deprecated \"detects two anagrams\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects two anagrams\" do\n expected = [\"lemons\",\"melons\"]\n actual = findAnagrams \"solemn\" [\"lemons\",\"cherry\",\"melons\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "does not detect anagram subsets", | ||
"test_code": "let\n actual = findAnagrams \"good\" [\"dog\",\"goody\"]\n expected = []\n Test.label.deprecated \"does not detect anagram subsets\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"does not detect anagram subsets\" do\n expected = []\n actual = findAnagrams \"good\" [\"dog\",\"goody\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects anagram", | ||
"test_code": "let\n actual = findAnagrams \"listen\" [\"enlists\",\"google\",\"inlets\",\"banana\"]\n expected = [\"inlets\"]\n Test.label.deprecated \"detects anagram\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects anagram\" do\n expected = [\"inlets\"]\n actual = findAnagrams \"listen\" [\"enlists\",\"google\",\"inlets\",\"banana\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects three anagrams", | ||
"test_code": "let\n actual = findAnagrams \"allergy\" [\"gallery\",\"ballerina\",\"regally\",\"clergy\",\"largely\",\"leading\"]\n expected = [\"gallery\",\"regally\",\"largely\"]\n Test.label.deprecated \"detects three anagrams\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects three anagrams\" do\n expected = [\"gallery\",\"regally\",\"largely\"]\n actual = findAnagrams \"allergy\" [\"gallery\",\"ballerina\",\"regally\",\"clergy\",\"largely\",\"leading\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects multiple anagrams with different case", | ||
"test_code": "let\n actual = findAnagrams \"nose\" [\"Eons\",\"ONES\"]\n expected = [\"Eons\",\"ONES\"]\n Test.label.deprecated \"detects multiple anagrams with different case\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects multiple anagrams with different case\" do\n expected = [\"Eons\",\"ONES\"]\n actual = findAnagrams \"nose\" [\"Eons\",\"ONES\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "does not detect non-anagrams with identical checksum", | ||
"test_code": "let\n actual = findAnagrams \"mass\" [\"last\"]\n expected = []\n Test.label.deprecated \"does not detect non-anagrams with identical checksum\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"does not detect non-anagrams with identical checksum\" do\n expected = []\n actual = findAnagrams \"mass\" [\"last\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects anagrams case-insensitively", | ||
"test_code": "let\n actual = findAnagrams \"Orchestra\" [\"cashregister\",\"Carthorse\",\"radishes\"]\n expected = [\"Carthorse\"]\n Test.label.deprecated \"detects anagrams case-insensitively\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects anagrams case-insensitively\" do\n expected = [\"Carthorse\"]\n actual = findAnagrams \"Orchestra\" [\"cashregister\",\"Carthorse\",\"radishes\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects anagrams using case-insensitive subject", | ||
"test_code": "let\n actual = findAnagrams \"Orchestra\" [\"cashregister\",\"carthorse\",\"radishes\"]\n expected = [\"carthorse\"]\n Test.label.deprecated \"detects anagrams using case-insensitive subject\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects anagrams using case-insensitive subject\" do\n expected = [\"carthorse\"]\n actual = findAnagrams \"Orchestra\" [\"cashregister\",\"carthorse\",\"radishes\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "detects anagrams using case-insensitive possible matches", | ||
"test_code": "let\n actual = findAnagrams \"orchestra\" [\"cashregister\",\"Carthorse\",\"radishes\"]\n expected = [\"Carthorse\"]\n Test.label.deprecated \"detects anagrams using case-insensitive possible matches\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"detects anagrams using case-insensitive possible matches\" do\n expected = [\"Carthorse\"]\n actual = findAnagrams \"orchestra\" [\"cashregister\",\"Carthorse\",\"radishes\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "does not detect an anagram if the original word is repeated", | ||
"test_code": "let\n actual = findAnagrams \"go\" [\"go Go GO\"]\n expected = []\n Test.label.deprecated \"does not detect an anagram if the original word is repeated\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"does not detect an anagram if the original word is repeated\" do\n expected = []\n actual = findAnagrams \"go\" [\"go Go GO\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "anagrams must use all letters exactly once", | ||
"test_code": "let\n actual = findAnagrams \"tapper\" [\"patter\"]\n expected = []\n Test.label.deprecated \"anagrams must use all letters exactly once\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"anagrams must use all letters exactly once\" do\n expected = []\n actual = findAnagrams \"tapper\" [\"patter\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "words are not anagrams of themselves", | ||
"test_code": "let\n actual = findAnagrams \"BANANA\" [\"BANANA\"]\n expected = []\n Test.label.deprecated \"words are not anagrams of themselves\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"words are not anagrams of themselves\" do\n expected = []\n actual = findAnagrams \"BANANA\" [\"BANANA\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "words are not anagrams of themselves even if letter case is partially different", | ||
"test_code": "let\n actual = findAnagrams \"BANANA\" [\"Banana\"]\n expected = []\n Test.label.deprecated \"words are not anagrams of themselves even if letter case is partially different\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"words are not anagrams of themselves even if letter case is partially different\" do\n expected = []\n actual = findAnagrams \"BANANA\" [\"Banana\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "words are not anagrams of themselves even if letter case is completely different", | ||
"test_code": "let\n actual = findAnagrams \"BANANA\" [\"banana\"]\n expected = []\n Test.label.deprecated \"words are not anagrams of themselves even if letter case is completely different\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"words are not anagrams of themselves even if letter case is completely different\" do\n expected = []\n actual = findAnagrams \"BANANA\" [\"banana\"]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
}, | ||
{ | ||
"name": "words other than themselves can be anagrams", | ||
"test_code": "let\n actual = findAnagrams \"LISTEN\" [\"LISTEN\",\"Silent\" ]\n expected = [\"Silent\"]\n Test.label.deprecated \"words other than themselves can be anagrams\" <| Test.expect (actual === expected)" | ||
"test_code": "verify do\n labeled \"words other than themselves can be anagrams\" do\n expected = [\"Silent\"]\n actual = findAnagrams \"LISTEN\" [\"LISTEN\",\"Silent\" ]\n label \"expected\" expected\n label \"actual\" actual\n ensureEqual expected actual" | ||
} | ||
] | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters