From 9fde464b34230302b9d1c1d2dee749aa612fbbc5 Mon Sep 17 00:00:00 2001 From: Kah Goh Date: Fri, 31 Oct 2025 19:28:31 +0800 Subject: [PATCH] Update ISBN verifier This updates the exercise with new test cases from exercism/problem-specifications#2604 and exercism/problem-specifications#2601. --- exercises/practice/isbn-verifier/.meta/tests.toml | 6 ++++++ .../src/test/java/IsbnVerifierTest.java | 14 ++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/exercises/practice/isbn-verifier/.meta/tests.toml b/exercises/practice/isbn-verifier/.meta/tests.toml index 6d5a84599..17e18d47a 100644 --- a/exercises/practice/isbn-verifier/.meta/tests.toml +++ b/exercises/practice/isbn-verifier/.meta/tests.toml @@ -30,6 +30,12 @@ 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" + [f6294e61-7e79-46b3-977b-f48789a4945b] description = "valid isbn without separating dashes" diff --git a/exercises/practice/isbn-verifier/src/test/java/IsbnVerifierTest.java b/exercises/practice/isbn-verifier/src/test/java/IsbnVerifierTest.java index 6ad959b9b..2848b63c5 100644 --- a/exercises/practice/isbn-verifier/src/test/java/IsbnVerifierTest.java +++ b/exercises/practice/isbn-verifier/src/test/java/IsbnVerifierTest.java @@ -68,6 +68,20 @@ public void xIsOnlyValidAsACheckDigit() { assertThat(isbnVerifier.isValid("3-598-2X507-9")).isFalse(); } + @Disabled("Remove to run test") + @Test + @DisplayName("only one check digit is allowed") + public void onlyOneCheckDigitIsAllowed() { + assertThat(isbnVerifier.isValid("3-598-21508-96")).isFalse(); + } + + @Disabled("Remove to run test") + @Test + @DisplayName("X is not substituted by the value 10") + public void xIsNotSubstitutedByTheValue10() { + assertThat(isbnVerifier.isValid("3-598-2X507-5")).isFalse(); + } + @Disabled("Remove to run test") @Test @DisplayName("valid isbn without separating dashes")