diff --git a/pom.xml b/pom.xml
index 789fa18..bdb2ffc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,18 @@
com.zipcodewilmington
regex
1.0-SNAPSHOT
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 11
+ 11
+
+
+
+
diff --git a/src/main/java/HamletParser.java b/src/main/java/HamletParser.java
index 7178926..5aa9136 100644
--- a/src/main/java/HamletParser.java
+++ b/src/main/java/HamletParser.java
@@ -1,6 +1,8 @@
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* Created by thook on 10/7/15.
@@ -24,7 +26,7 @@ private String loadFile(){
result.append(line).append("\n");
}
- scanner.close();
+ scanner.close();
}catch(IOException e){
e.printStackTrace();
}
@@ -36,4 +38,18 @@ public String getHamletData(){
return hamletData;
}
+ public Boolean findPattern(String hamletText,String pattern){
+ Pattern patternToFind = Pattern.compile(pattern);
+ return patternToFind.matcher(hamletText).find();
+
+ }
+
+ public String replaceString(String hamletText, String pattern, String newWord){
+ Pattern patternToFind = Pattern.compile(pattern);
+ Matcher matcher = patternToFind.matcher(hamletText);
+
+ String result = matcher.replaceAll(newWord);
+
+ return result;
+ }
}
diff --git a/src/test/java/HamletParserTest.java b/src/test/java/HamletParserTest.java
index 7670909..4a3daa6 100644
--- a/src/test/java/HamletParserTest.java
+++ b/src/test/java/HamletParserTest.java
@@ -1,3 +1,4 @@
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -15,17 +16,37 @@ public void setUp() {
@Test
public void testChangeHamletToLeon() {
+ //given
+ String answer = hamletParser.replaceString(hamletText,"Hamlet","leon");
+ //when
+ Boolean actualFalse = hamletParser.findPattern(answer,"Hamlet");
+ Boolean actualTrue = hamletParser.findPattern(answer,"Leon");
+ //then
+ Assert.assertFalse(actualTrue);
+ Assert.assertFalse(actualFalse);
}
@Test
public void testChangeHoratioToTariq() {
+ //given
+ String answer = hamletParser.replaceString(hamletText,"Horatio","Tariq");
+ //When
+ Boolean actualFalse = hamletParser.findPattern(answer,"Horatio");
+ Boolean actualTrue = hamletParser.findPattern(answer,"Tariq");
+ //Then
+ Assert.assertFalse(actualFalse);
+ Assert.assertTrue(actualTrue);
}
@Test
public void testFindHoratio() {
+ Boolean actual = hamletParser.findPattern(this.hamletText,"Horatio");
+ Assert.assertTrue(actual);
}
@Test
public void testFindHamlet() {
+ Boolean actual = hamletParser.findPattern(this.hamletText,"Hamlet");
+ Assert.assertTrue(actual);
}
}
\ No newline at end of file