diff --git a/src/test/java/com/thealgorithms/recursion/GenerateSubsetsTest.java b/src/test/java/com/thealgorithms/recursion/GenerateSubsetsTest.java index b92d1406b0a7..983552722781 100644 --- a/src/test/java/com/thealgorithms/recursion/GenerateSubsetsTest.java +++ b/src/test/java/com/thealgorithms/recursion/GenerateSubsetsTest.java @@ -1,36 +1,40 @@ package com.thealgorithms.recursion; -import static org.junit.jupiter.api.Assertions.assertArrayEquals; +import static org.junit.jupiter.api.Assertions.assertIterableEquals; +import java.util.Arrays; import java.util.List; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; public final class GenerateSubsetsTest { @Test - void subsetRecursionTestOne() { - String str = "abc"; - String[] expected = new String[] {"abc", "ab", "ac", "a", "bc", "b", "c", ""}; - - List ans = GenerateSubsets.subsetRecursion(str); - assertArrayEquals(ans.toArray(), expected); + @DisplayName("Subsets of 'abc'") + void testSubsetsOfABC() { + assertSubsets("abc", Arrays.asList("abc", "ab", "ac", "a", "bc", "b", "c", "")); } @Test - void subsetRecursionTestTwo() { - String str = "cbf"; - String[] expected = new String[] {"cbf", "cb", "cf", "c", "bf", "b", "f", ""}; + @DisplayName("Subsets of 'cbf'") + void testSubsetsOfCBF() { + assertSubsets("cbf", Arrays.asList("cbf", "cb", "cf", "c", "bf", "b", "f", "")); + } - List ans = GenerateSubsets.subsetRecursion(str); - assertArrayEquals(ans.toArray(), expected); + @Test + @DisplayName("Subsets of 'aba' with duplicates") + void testSubsetsWithDuplicateChars() { + assertSubsets("aba", Arrays.asList("aba", "ab", "aa", "a", "ba", "b", "a", "")); } @Test - void subsetRecursionTestThree() { - String str = "aba"; - String[] expected = new String[] {"aba", "ab", "aa", "a", "ba", "b", "a", ""}; + @DisplayName("Subsets of empty string") + void testEmptyInput() { + assertSubsets("", List.of("")); + } - List ans = GenerateSubsets.subsetRecursion(str); - assertArrayEquals(ans.toArray(), expected); + private void assertSubsets(String input, Iterable expected) { + List actual = GenerateSubsets.subsetRecursion(input); + assertIterableEquals(expected, actual, "Subsets do not match for input: " + input); } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy