From 260d1266f6a24390ed9a985980e56ff38afaff5b Mon Sep 17 00:00:00 2001 From: Anastasios Chatzialexiou <16361161+tasxatzial@users.noreply.github.com> Date: Sun, 2 Nov 2025 02:05:55 +0200 Subject: [PATCH] isbn-verifier: Sync tests --- .../practice/isbn-verifier/.meta/tests.toml | 3 ++ .../isbn-verifier/test/isbn_verifier_test.clj | 28 +++++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/exercises/practice/isbn-verifier/.meta/tests.toml b/exercises/practice/isbn-verifier/.meta/tests.toml index 722fffae..17e18d47 100644 --- a/exercises/practice/isbn-verifier/.meta/tests.toml +++ b/exercises/practice/isbn-verifier/.meta/tests.toml @@ -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" +[8005b57f-f194-44ee-88d2-a77ac4142591] +description = "only one check digit is allowed" + [fdb14c99-4cf8-43c5-b06d-eb1638eff343] description = "X is not substituted by the value 10" diff --git a/exercises/practice/isbn-verifier/test/isbn_verifier_test.clj b/exercises/practice/isbn-verifier/test/isbn_verifier_test.clj index fc54b2d3..8538c16c 100644 --- a/exercises/practice/isbn-verifier/test/isbn_verifier_test.clj +++ b/exercises/practice/isbn-verifier/test/isbn_verifier_test.clj @@ -31,53 +31,57 @@ (is (false? (isbn-verifier/isbn? "3-598-2X507-9"))))) (deftest isbn?_test_8 + (testing "only one check digit is allowed" + (is (false? (isbn-verifier/isbn? "3-598-21508-96"))))) + +(deftest isbn?_test_9 (testing "X is not substituted by the value 10" (is (false? (isbn-verifier/isbn? "3-598-2X507-5"))))) -(deftest isbn?_test_9 +(deftest isbn?_test_10 (testing "valid isbn without separating dashes" (is (true? (isbn-verifier/isbn? "3598215088"))))) -(deftest isbn?_test_10 +(deftest isbn?_test_11 (testing "isbn without separating dashes and X as check digit" (is (true? (isbn-verifier/isbn? "359821507X"))))) -(deftest isbn?_test_11 +(deftest isbn?_test_12 (testing "isbn without check digit and dashes" (is (false? (isbn-verifier/isbn? "359821507"))))) -(deftest isbn?_test_12 +(deftest isbn?_test_13 (testing "too long isbn and no dashes" (is (false? (isbn-verifier/isbn? "3598215078X"))))) -(deftest isbn?_test_13 +(deftest isbn?_test_14 (testing "too short isbn" (is (false? (isbn-verifier/isbn? "00"))))) -(deftest isbn?_test_14 +(deftest isbn?_test_15 (testing "isbn without check digit" (is (false? (isbn-verifier/isbn? "3-598-21507"))))) -(deftest isbn?_test_15 +(deftest isbn?_test_16 (testing "check digit of X should not be used for 0" (is (false? (isbn-verifier/isbn? "3-598-21515-X"))))) -(deftest isbn?_test_16 +(deftest isbn?_test_17 (testing "empty isbn" (is (false? (isbn-verifier/isbn? ""))))) -(deftest isbn?_test_17 +(deftest isbn?_test_18 (testing "input is 9 characters" (is (false? (isbn-verifier/isbn? "134456729"))))) -(deftest isbn?_test_18 +(deftest isbn?_test_19 (testing "invalid characters are not ignored after checking length" (is (false? (isbn-verifier/isbn? "3132P34035"))))) -(deftest isbn?_test_19 +(deftest isbn?_test_20 (testing "invalid characters are not ignored before checking length" (is (false? (isbn-verifier/isbn? "3598P215088"))))) -(deftest isbn?_test_20 +(deftest isbn?_test_21 (testing "input is too long but contains a valid isbn" (is (false? (isbn-verifier/isbn? "98245726788")))))