From e123ca12c7d2d36dd76d322b8e02099ad3fedb0b Mon Sep 17 00:00:00 2001 From: Raveendra Pujari <72726513+raveendra11@users.noreply.github.com> Date: Tue, 3 Jun 2025 17:09:46 -0500 Subject: [PATCH] tests: properly test `Isomorphic` (#6259) Fixes #6258 --------- Co-authored-by: Piotr Idzik <65706193+vil02@users.noreply.github.com> --- .../thealgorithms/strings/IsomorphicTest.java | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/src/test/java/com/thealgorithms/strings/IsomorphicTest.java b/src/test/java/com/thealgorithms/strings/IsomorphicTest.java index 0dac47551..4dd13fbc3 100644 --- a/src/test/java/com/thealgorithms/strings/IsomorphicTest.java +++ b/src/test/java/com/thealgorithms/strings/IsomorphicTest.java @@ -1,31 +1,23 @@ package com.thealgorithms.strings; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; -import org.junit.jupiter.api.Test; +import java.util.stream.Stream; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; +import org.junit.jupiter.params.provider.MethodSource; public final class IsomorphicTest { - private IsomorphicTest() { + + @ParameterizedTest + @MethodSource("inputs") + public void testCheckStrings(String str1, String str2, Boolean expected) { + assertEquals(expected, Isomorphic.checkStrings(str1, str2)); + assertEquals(expected, Isomorphic.checkStrings(str2, str1)); } - @Test - public static void main(String[] args) { - String str1 = "abbbbaac"; - String str2 = "kffffkkd"; - - String str3 = "xyxyxy"; - String str4 = "bnbnbn"; - - String str5 = "ghjknnmm"; - String str6 = "wertpopo"; - - String str7 = "aaammmnnn"; - String str8 = "ggghhhbbj"; - - assertTrue(Isomorphic.checkStrings(str1, str2)); - assertTrue(Isomorphic.checkStrings(str3, str4)); - assertFalse(Isomorphic.checkStrings(str5, str6)); - assertFalse(Isomorphic.checkStrings(str7, str8)); + private static Stream inputs() { + return Stream.of(Arguments.of("", "", Boolean.TRUE), Arguments.of("", "a", Boolean.FALSE), Arguments.of("aaa", "aa", Boolean.FALSE), Arguments.of("abbbbaac", "kffffkkd", Boolean.TRUE), Arguments.of("xyxyxy", "bnbnbn", Boolean.TRUE), Arguments.of("ghjknnmm", "wertpopo", Boolean.FALSE), + Arguments.of("aaammmnnn", "ggghhhbbj", Boolean.FALSE)); } }