Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions exercises/practice/isbn-verifier/.meta/tests.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ description = "invalid character in isbn is not treated as zero"
[28025280-2c39-4092-9719-f3234b89c627]
description = "X is only valid as a check digit"

[fdb14c99-4cf8-43c5-b06d-eb1638eff343]
description = "X is not substituted by the value 10"

[f6294e61-7e79-46b3-977b-f48789a4945b]
description = "valid isbn without separating dashes"

Expand Down
26 changes: 15 additions & 11 deletions exercises/practice/isbn-verifier/test/isbn_verifier_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -31,49 +31,53 @@
(is (false? (isbn-verifier/isbn? "3-598-2X507-9")))))

(deftest isbn?_test_8
(testing "X is not substituted by the value 10"
(is (false? (isbn-verifier/isbn? "3-598-2X507-5")))))

(deftest isbn?_test_9
(testing "valid isbn without separating dashes"
(is (true? (isbn-verifier/isbn? "3598215088")))))

(deftest isbn?_test_9
(deftest isbn?_test_10
(testing "isbn without separating dashes and X as check digit"
(is (true? (isbn-verifier/isbn? "359821507X")))))

(deftest isbn?_test_10
(deftest isbn?_test_11
(testing "isbn without check digit and dashes"
(is (false? (isbn-verifier/isbn? "359821507")))))

(deftest isbn?_test_11
(deftest isbn?_test_12
(testing "too long isbn and no dashes"
(is (false? (isbn-verifier/isbn? "3598215078X")))))

(deftest isbn?_test_12
(deftest isbn?_test_13
(testing "too short isbn"
(is (false? (isbn-verifier/isbn? "00")))))

(deftest isbn?_test_13
(deftest isbn?_test_14
(testing "isbn without check digit"
(is (false? (isbn-verifier/isbn? "3-598-21507")))))

(deftest isbn?_test_14
(deftest isbn?_test_15
(testing "check digit of X should not be used for 0"
(is (false? (isbn-verifier/isbn? "3-598-21515-X")))))

(deftest isbn?_test_15
(deftest isbn?_test_16
(testing "empty isbn"
(is (false? (isbn-verifier/isbn? "")))))

(deftest isbn?_test_16
(deftest isbn?_test_17
(testing "input is 9 characters"
(is (false? (isbn-verifier/isbn? "134456729")))))

(deftest isbn?_test_17
(deftest isbn?_test_18
(testing "invalid characters are not ignored after checking length"
(is (false? (isbn-verifier/isbn? "3132P34035")))))

(deftest isbn?_test_18
(deftest isbn?_test_19
(testing "invalid characters are not ignored before checking length"
(is (false? (isbn-verifier/isbn? "3598P215088")))))

(deftest isbn?_test_19
(deftest isbn?_test_20
(testing "input is too long but contains a valid isbn"
(is (false? (isbn-verifier/isbn? "98245726788")))))