From b1d342f886d28def0f619aecc12a1def521a9c4d Mon Sep 17 00:00:00 2001 From: Marco Rensch Date: Sat, 10 Sep 2022 11:43:57 +0200 Subject: [PATCH 1/2] Something stupid --- clean-code-challanges/src/main/java/Acronym.java | 2 +- clean-code-challanges/src/test/java/AcronymTest.java | 1 - clean-code-challanges/src/test/java/AnagramTest.java | 2 +- clean-code-challanges/src/test/java/IsogramCheckerTest.java | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) diff --git a/clean-code-challanges/src/main/java/Acronym.java b/clean-code-challanges/src/main/java/Acronym.java index 5e00939..945bea2 100644 --- a/clean-code-challanges/src/main/java/Acronym.java +++ b/clean-code-challanges/src/main/java/Acronym.java @@ -8,7 +8,7 @@ class Acronym { Acronym(String phrase) { - + // FOOO } String get() { diff --git a/clean-code-challanges/src/test/java/AcronymTest.java b/clean-code-challanges/src/test/java/AcronymTest.java index 4fec6c2..558f04b 100644 --- a/clean-code-challanges/src/test/java/AcronymTest.java +++ b/clean-code-challanges/src/test/java/AcronymTest.java @@ -3,7 +3,6 @@ import static org.junit.Assert.assertEquals; -@Ignore public class AcronymTest { @Test diff --git a/clean-code-challanges/src/test/java/AnagramTest.java b/clean-code-challanges/src/test/java/AnagramTest.java index ad4faba..76d97be 100644 --- a/clean-code-challanges/src/test/java/AnagramTest.java +++ b/clean-code-challanges/src/test/java/AnagramTest.java @@ -10,7 +10,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; -@Ignore + public class AnagramTest { @Test diff --git a/clean-code-challanges/src/test/java/IsogramCheckerTest.java b/clean-code-challanges/src/test/java/IsogramCheckerTest.java index e6808f9..c4282de 100644 --- a/clean-code-challanges/src/test/java/IsogramCheckerTest.java +++ b/clean-code-challanges/src/test/java/IsogramCheckerTest.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -@Ignore public class IsogramCheckerTest { @Test From 2048fdbe491abc8267095948d0cd74c0e19803c4 Mon Sep 17 00:00:00 2001 From: Marco Rensch Date: Tue, 13 Sep 2022 20:24:12 +0200 Subject: [PATCH 2/2] Anagram Mission completed --- .../src/main/java/Anagram.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/clean-code-challanges/src/main/java/Anagram.java b/clean-code-challanges/src/main/java/Anagram.java index 9930cd0..95700f1 100644 --- a/clean-code-challanges/src/main/java/Anagram.java +++ b/clean-code-challanges/src/main/java/Anagram.java @@ -1,4 +1,7 @@ +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Objects; /** * Given a word and a list of possible anagrams, select the correct sublist. @@ -7,11 +10,27 @@ */ public class Anagram { - public Anagram(String word) { + private final String word; + public Anagram(String word) { + this.word = word; } public List match(List candidates) { - return null; + List foundAnagrams = new ArrayList<>(); + char[] wordChars = this.word.toLowerCase().toCharArray(); + + Arrays.sort(wordChars); + + for (String candidate : candidates) { + char[] candidateChars = candidate.toLowerCase().toCharArray(); + Arrays.sort(candidateChars); + if(Arrays.equals(wordChars,candidateChars) && !this.word.equalsIgnoreCase(candidate)){ + foundAnagrams.add(candidate); + } + } + + return foundAnagrams; + } }