test the methods with Unit test
This commit is contained in:
parent
aa125c6c6b
commit
9f798d483d
@ -12,22 +12,7 @@ import java.util.stream.Stream;
|
|||||||
|
|
||||||
public class MatchWords {
|
public class MatchWords {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static boolean containsWordsIndexOf(String inputString, String[] words) {
|
||||||
String[] words = {"hello", "Baeldung"};
|
|
||||||
String inputString = "hello there, Baeldung";
|
|
||||||
|
|
||||||
containsWords(inputString, words);
|
|
||||||
|
|
||||||
containsWordsJava8(inputString, words);
|
|
||||||
|
|
||||||
containsWordsPatternMatch(inputString, words);
|
|
||||||
|
|
||||||
containsWordsAhoCorasick(inputString, words);
|
|
||||||
|
|
||||||
containsWordsIndexOf(inputString, words);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean containsWordsIndexOf(String inputString, String[] words) {
|
|
||||||
boolean found = true;
|
boolean found = true;
|
||||||
for (String word : words) {
|
for (String word : words) {
|
||||||
int index = inputString.indexOf(word);
|
int index = inputString.indexOf(word);
|
||||||
@ -39,7 +24,7 @@ public class MatchWords {
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsWords(String inputString, String[] items) {
|
public static boolean containsWords(String inputString, String[] items) {
|
||||||
boolean found = true;
|
boolean found = true;
|
||||||
for (String item : items) {
|
for (String item : items) {
|
||||||
if (!inputString.contains(item)) {
|
if (!inputString.contains(item)) {
|
||||||
@ -50,7 +35,7 @@ public class MatchWords {
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsWordsAhoCorasick(String inputString, String[] words) {
|
public static boolean containsWordsAhoCorasick(String inputString, String[] words) {
|
||||||
Trie trie = Trie.builder()
|
Trie trie = Trie.builder()
|
||||||
.onlyWholeWords()
|
.onlyWholeWords()
|
||||||
.addKeywords(words)
|
.addKeywords(words)
|
||||||
@ -71,7 +56,7 @@ public class MatchWords {
|
|||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsWordsPatternMatch(String inputString, String[] words) {
|
public static boolean containsWordsPatternMatch(String inputString, String[] words) {
|
||||||
|
|
||||||
StringBuilder regexp = new StringBuilder();
|
StringBuilder regexp = new StringBuilder();
|
||||||
for (String word : words) {
|
for (String word : words) {
|
||||||
@ -85,14 +70,14 @@ public class MatchWords {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsWordsJava8(String inputString, String[] words) {
|
public static boolean containsWordsJava8(String inputString, String[] words) {
|
||||||
ArrayList inputStringList = new ArrayList<>(Arrays.asList(inputString.split(" ")));
|
ArrayList inputStringList = new ArrayList<>(Arrays.asList(inputString.split(" ")));
|
||||||
ArrayList<String> wordsList = new ArrayList<>(Arrays.asList(words));
|
ArrayList<String> wordsList = new ArrayList<>(Arrays.asList(words));
|
||||||
|
|
||||||
return wordsList.stream().allMatch(inputStringList::contains);
|
return wordsList.stream().allMatch(inputStringList::contains);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean containsWordsArray(String inputString, String[] words) {
|
public static boolean containsWordsArray(String inputString, String[] words) {
|
||||||
ArrayList inputStringList = new ArrayList<>(Arrays.asList(inputString.split(" ")));
|
ArrayList inputStringList = new ArrayList<>(Arrays.asList(inputString.split(" ")));
|
||||||
ArrayList<String> wordsList = new ArrayList<>(Arrays.asList(words));
|
ArrayList<String> wordsList = new ArrayList<>(Arrays.asList(words));
|
||||||
|
|
||||||
|
@ -0,0 +1,59 @@
|
|||||||
|
package com.baeldung.string;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
public class MatchWordsUnitTest {
|
||||||
|
|
||||||
|
private final String[] words = {"hello", "Baeldung"};
|
||||||
|
private final String inputString = "hello there, Baeldung";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingStringContains_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWords(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingJava8_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWordsJava8(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingPattern_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWordsPatternMatch(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingAhoCorasick_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWordsAhoCorasick(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingIndexOf_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWordsIndexOf(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void givenText_whenCallingArrayList_shouldMatchWords() {
|
||||||
|
|
||||||
|
final boolean result = MatchWords.containsWordsArray(inputString, words);
|
||||||
|
|
||||||
|
assertThat(result).isEqualTo(true);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user