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/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; + } } 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