Skip to content

Commit 9635950

Browse files
authored
Sync scrabble-score tests (#878)
[no important files changed]
1 parent 493ea63 commit 9635950

File tree

2 files changed

+37
-17
lines changed

2 files changed

+37
-17
lines changed

exercises/practice/scrabble-score/scrabble-score-test.lisp

Lines changed: 36 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,27 +15,49 @@
1515
;; Define and enter a new FiveAM test-suite
1616
(def-suite* scrabble-score-suite)
1717

18-
(test no-word-has-zero-score (is (equal 0 (scrabble-score:score-word ""))))
18+
(test lowercase-letter
19+
(let ((word "a"))
20+
(is (= 1 (scrabble-score:score-word word)))))
1921

20-
(test whitespace-only-also-has-zero-score
21-
(is
22-
(equal 0 (scrabble-score:score-word (concatenate 'string '(#\ #\Newline))))))
22+
(test uppercase-letter
23+
(let ((word "A"))
24+
(is (= 1 (scrabble-score:score-word word)))))
2325

24-
(test scores-small-word (is (equal 1 (scrabble-score:score-word "a"))))
26+
(test valuable-letter
27+
(let ((word "f"))
28+
(is (= 4 (scrabble-score:score-word word)))))
2529

26-
(test is-case-insensitive (is (equal 1 (scrabble-score:score-word "A"))))
30+
(test short-word
31+
(let ((word "at"))
32+
(is (= 2 (scrabble-score:score-word word)))))
2733

28-
(test scores-a-slightly-bigger-word
29-
(is (equal 2 (scrabble-score:score-word "at"))))
34+
(test short-valuable-word
35+
(let ((word "zoo"))
36+
(is (= 12 (scrabble-score:score-word word)))))
3037

31-
(test scores-a-middle-of-the-road-word
32-
(is (equal 6 (scrabble-score:score-word "street"))))
38+
(test medium-word
39+
(let ((word "street"))
40+
(is (= 6 (scrabble-score:score-word word)))))
3341

34-
(test scores-a-peculiar-word
35-
(is (equal 22 (scrabble-score:score-word "quirky"))))
42+
(test medium-valuable-word
43+
(let ((word "quirky"))
44+
(is (= 22 (scrabble-score:score-word word)))))
3645

37-
(test scores-a-very-long-word
38-
(is (equal 27 (scrabble-score:score-word "UNEXCLUSIVENESS"))))
46+
(test long-mixed-case-word
47+
(let ((word "OxyphenButazone"))
48+
(is (= 41 (scrabble-score:score-word word)))))
49+
50+
(test english-like-word
51+
(let ((word "pinata"))
52+
(is (= 8 (scrabble-score:score-word word)))))
53+
54+
(test empty-input
55+
(let ((word ""))
56+
(is (= 0 (scrabble-score:score-word word)))))
57+
58+
(test entire-alphabet-available
59+
(let ((word "abcdefghijklmnopqrstuvwxyz"))
60+
(is (= 87 (scrabble-score:score-word word)))))
3961

4062
(defun run-tests (&optional (test-or-suite 'scrabble-score-suite))
4163
"Provides human readable results of test run. Default to entire suite."

exercises/practice/scrabble-score/scrabble-score.lisp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,4 @@
44

55
(in-package :scrabble-score)
66

7-
(defun score-word (word)
8-
"Computes the score for an entire word."
9-
)
7+
(defun score-word (word))

0 commit comments

Comments
 (0)