From 62502de3ccdbcb80924e4407e13f371c2d501da2 Mon Sep 17 00:00:00 2001 From: Keerthana Srinivasan Date: Sat, 4 Dec 2021 02:05:42 -0500 Subject: [PATCH] Completed --- pom.xml | 12 ++++++++++++ src/main/java/HamletParser.java | 18 +++++++++++++++++- src/test/java/HamletParserTest.java | 21 +++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) 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