diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..85d107a --- /dev/null +++ b/pom.xml @@ -0,0 +1,30 @@ + + 4.0.0 + stringProblem + stringProblem + 0.0.1-SNAPSHOT + + + + + org.testng + testng + 6.9.9 + test + + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + + + + \ No newline at end of file diff --git a/src/main/java/test/StringProblem.java b/src/main/java/test/StringProblem.java new file mode 100644 index 0000000..55cb104 --- /dev/null +++ b/src/main/java/test/StringProblem.java @@ -0,0 +1,78 @@ +package test; + +import org.testng.Assert; +import org.testng.annotations.*; + +public class StringProblem { + + // Replace character from string using string utils + public String replaceChar(String s, String s1) { + String newString = null; + if (s == null) + return null; + else { + try { + newString = s.replaceAll(s1, ""); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } + return newString; + } + } + + // String replace character one at a time in aloop + public String replaceCharInLoop(String s, char ch) { + if (s == null) + return null; + else { + StringBuilder str = new StringBuilder(); + String newString = null; + try { + char[] c = s.toCharArray(); + + for (char i : c) { + if (i != ch) { + str.append(i); + } + + } + + newString = str.toString(); + } + + catch (IllegalArgumentException e) { + e.printStackTrace(); + } + return newString; + } + + } + + // Test the methods with different set of data + + @DataProvider(name = "StringData") + public Object[][] stringdata1() { + + Object[][] o = {{ "abcdcd", "abdd" }, { "ABCDCD", "ABCDCD" }, + { null, null }, { "", "" } }; + return o; + + } + + @Test(dataProvider = "StringData") + public void testStringReplce(String s, String s1) { + + String newString = replaceChar(s, "c"); + + Assert.assertEquals(newString, s1); + } + + @Test(dataProvider = "StringData") + public void testStringReplceCharInLoop(String s, String s1) { + + String newString = replaceCharInLoop(s, 'c'); + + Assert.assertEquals(newString, s1); + } + +} \ No newline at end of file diff --git a/src/main/java/testng_stringproblem.xml b/src/main/java/testng_stringproblem.xml new file mode 100644 index 0000000..907f469 --- /dev/null +++ b/src/main/java/testng_stringproblem.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file