From 1a00e37d9ca7683ee98d209d2671811421156848 Mon Sep 17 00:00:00 2001 From: Karninskuel Date: Thu, 15 Jun 2023 22:58:54 -0700 Subject: [PATCH 1/3] src updated --- src/main/java/CILabTest.java | 32 +++++ src/main/java/StringManipulation.java | 33 ----- src/test/java/CILab.java | 20 +++ src/test/java/StringManipulationTest.java | 149 ---------------------- 4 files changed, 52 insertions(+), 182 deletions(-) create mode 100644 src/main/java/CILabTest.java delete mode 100644 src/main/java/StringManipulation.java create mode 100644 src/test/java/CILab.java delete mode 100644 src/test/java/StringManipulationTest.java diff --git a/src/main/java/CILabTest.java b/src/main/java/CILabTest.java new file mode 100644 index 0000000..1000421 --- /dev/null +++ b/src/main/java/CILabTest.java @@ -0,0 +1,32 @@ +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.fail; + +public class CILabTest { + + private CILabInterface myString; + + @BeforeEach + public void setUp() { + myString = new CILab(); + } + + @AfterEach + public void tearDown() { + myString = null; + } + + @Test + public void detectCapitalUseTest1() { + fail("Not yet implemented"); + + } + @Test + public void detectCapitalUseTest2() { + fail("Not yet implemented"); + } + + +} diff --git a/src/main/java/StringManipulation.java b/src/main/java/StringManipulation.java deleted file mode 100644 index 4deb6f1..0000000 --- a/src/main/java/StringManipulation.java +++ /dev/null @@ -1,33 +0,0 @@ -public class StringManipulation implements StringManipulationInterface { - - @Override - public String getString() { - return null; - } - - @Override - public void setString(String string) { - } - - @Override - public int count() { - return 0; - } - - @Override - public String removeNthCharacter(int n, boolean maintainSpacing) { - return null; - } - - @Override - public String[] getSubStrings(int startWord, int endWord) { - return null; - } - - @Override - public String restoreString(int[] indices) { - return null; - } - - -} diff --git a/src/test/java/CILab.java b/src/test/java/CILab.java new file mode 100644 index 0000000..024f127 --- /dev/null +++ b/src/test/java/CILab.java @@ -0,0 +1,20 @@ +public class CILab implements CILabInterface { + private String myString; + + @Override + public String getString() { + return myString; + } + + @Override + public void setString(String string) { + myString = string; + } + + @Override + public boolean detectCapitalUse() { + return false; + } + +} + diff --git a/src/test/java/StringManipulationTest.java b/src/test/java/StringManipulationTest.java deleted file mode 100644 index 6692c2c..0000000 --- a/src/test/java/StringManipulationTest.java +++ /dev/null @@ -1,149 +0,0 @@ -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - - -import static org.junit.jupiter.api.Assertions.*; - -public class StringManipulationTest { - - private StringManipulationInterface manipulatedstring; - - @BeforeEach - public void setUp() { - manipulatedstring = new StringManipulation(); - } - - @AfterEach - public void tearDown() { - manipulatedstring = null; - } - - @Test - public void testCount1() { - manipulatedstring.setString("This is my string"); - int length = manipulatedstring.count(); - assertEquals(4, length); - } - - @Test - public void testCount2() { - fail("Not yet implemented"); - } - - @Test - public void testCount3() { - fail("Not yet implemented"); - } - - @Test - public void testCount4() { - fail("Not yet implemented"); - } - - @Test - public void testRemoveNthCharacter1() { - manipulatedstring.setString("I'd b3tt3r put s0me d161ts in this 5tr1n6, right?"); - assertEquals("I' bttr uts0e 16tsinths trn6 rgh?", manipulatedstring.removeNthCharacter(3, false)); - } - - @Test - public void testRemoveNthCharacter2() { - manipulatedstring.setString("I'd b3tt3r put s0me d161ts in this 5tr1n6, right?"); - assertEquals("I' b tt r ut s0 e 16 ts in th s tr n6 r gh ?", manipulatedstring.removeNthCharacter(3, true)); - } - - @Test - public void testRemoveNthCharacter3() { - fail("Not yet implemented"); - } - - @Test - public void testRemoveNthCharacter4() { - fail("Not yet implemented"); - } - - @Test - public void testRemoveNthCharacter5() { - fail("Not yet implemented"); - } - - @Test - public void testRemoveNthCharacter6() { - fail("Not yet implemented"); - } - - @Test - public void testRemoveNthCharacter7() { - fail("Not yet implemented"); - } - - @Test - public void testGeSubStrings1() { - manipulatedstring.setString("This is my string"); - String [] sStings = manipulatedstring.getSubStrings(3, 4); - - assertEquals(sStings[0], "my"); - assertEquals(sStings[1], "string"); - } - - @Test - public void testGeSubStrings2() { - fail("Not yet implemented"); - } - @Test - public void testGeSubStrings3() { - fail("Not yet implemented"); - } - @Test - public void testGeSubStrings4() { - fail("Not yet implemented"); - } - @Test - public void testGeSubStrings5() { - fail("Not yet implemented"); - } - @Test - public void testGeSubStrings6() { - fail("Not yet implemented"); - } - - @Test - public void testRestoreString1() - { - manipulatedstring.setString("art"); - int [] array; - array=new int[]{1,0,2}; - String restoreString = manipulatedstring.restoreString(array); - assertEquals(restoreString, "rat"); - } - - @Test - public void testRestoreString2() - { - fail("Not yet implemented"); - - } - - @Test - public void testRestoreString3() - { - fail("Not yet implemented"); - - } - - @Test - public void testRestoreString4() - { - fail("Not yet implemented"); - - } - - @Test - public void testRestoreString5() - { - fail("Not yet implemented"); - - } - -} From 9a783cede665a85669dc95fff5d37992b00421b2 Mon Sep 17 00:00:00 2001 From: Karninskuel Date: Fri, 16 Jun 2023 13:19:51 -0700 Subject: [PATCH 2/3] removed incorrect files --- src/main/java/CILabTest.java | 32 -------------------------------- src/test/java/CILab.java | 20 -------------------- 2 files changed, 52 deletions(-) delete mode 100644 src/main/java/CILabTest.java delete mode 100644 src/test/java/CILab.java diff --git a/src/main/java/CILabTest.java b/src/main/java/CILabTest.java deleted file mode 100644 index 1000421..0000000 --- a/src/main/java/CILabTest.java +++ /dev/null @@ -1,32 +0,0 @@ -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.fail; - -public class CILabTest { - - private CILabInterface myString; - - @BeforeEach - public void setUp() { - myString = new CILab(); - } - - @AfterEach - public void tearDown() { - myString = null; - } - - @Test - public void detectCapitalUseTest1() { - fail("Not yet implemented"); - - } - @Test - public void detectCapitalUseTest2() { - fail("Not yet implemented"); - } - - -} diff --git a/src/test/java/CILab.java b/src/test/java/CILab.java deleted file mode 100644 index 024f127..0000000 --- a/src/test/java/CILab.java +++ /dev/null @@ -1,20 +0,0 @@ -public class CILab implements CILabInterface { - private String myString; - - @Override - public String getString() { - return myString; - } - - @Override - public void setString(String string) { - myString = string; - } - - @Override - public boolean detectCapitalUse() { - return false; - } - -} - From be42046d9d12d0fc962b9a4b948f4aa8e8dd797e Mon Sep 17 00:00:00 2001 From: Karninskuel Date: Fri, 16 Jun 2023 13:57:24 -0700 Subject: [PATCH 3/3] updated with correct files --- src/main/java/StringManipulation.java | 88 ++++++++++ src/test/java/StringManipulationTest.java | 192 ++++++++++++++++++++++ 2 files changed, 280 insertions(+) create mode 100644 src/main/java/StringManipulation.java create mode 100644 src/test/java/StringManipulationTest.java diff --git a/src/main/java/StringManipulation.java b/src/main/java/StringManipulation.java new file mode 100644 index 0000000..ac480fe --- /dev/null +++ b/src/main/java/StringManipulation.java @@ -0,0 +1,88 @@ +public class StringManipulation implements StringManipulationInterface { + @Override + public String getString() { + if (this.string != null) { + return this.string; + } + + return null; + } + + @Override + public void setString(String string) { + this.string = string; + } + + @Override + public int count() { + String words = this.string.trim(); + if (!words.isEmpty()) { + return words.split("\\s+").length; + } + return 0; + } + + @Override + public String removeNthCharacter(int n, boolean maintainSpacing) { + char letter = this.string.charAt(n); + if (maintainSpacing) + { + this.string = this.string.replace(letter, " "); + return this.string; + } + else + { + this.string = this.string.replace(letter, ""); + return this.string; + } + return null; + } + + @Override + public String[] getSubStrings(int startWord, int endWord) { + String[] words = this.string.split(" "); + + if (startWord <= 0 || endWord <= 0 || startWord > endWord) + { + throw new IllegalArgumentException("Invalid startWord or endWord."); + } + + if (endWord > words.length) + { + throw new IndexOutOfBoundsException("The string has less than endWord words."); + } + + int numSubStrings = endWord - startWord + 1; + String[] subStrings = new String[numSubStrings]; + + for (int i = startWord - 1; i <= endWord - 1; i++) + { + subStrings[i - startWord + 1] = words[i]; + } + + return subStrings; + } + + @Override + public String restoreString(int[] indices) { + if (this.string.length != indices.length) + { + throw new IllegalArgumentException("Indices lengths do not match"); + } + + char[] shuffledWords = new char[indices.length]; + + for (int i = 0; i < indices.length; i++) + { + int index = indices[i]; + if (index < 0 || index >= indices.length) + { + throw new IndexOutOfBoundsException("Invalid index: " + index); + } + shuffledWords[index] = s.charAt(i); + } + + return new String(shuffledWords); + } + +} diff --git a/src/test/java/StringManipulationTest.java b/src/test/java/StringManipulationTest.java new file mode 100644 index 0000000..8d9e5ce --- /dev/null +++ b/src/test/java/StringManipulationTest.java @@ -0,0 +1,192 @@ +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + + +import static org.junit.jupiter.api.Assertions.*; + +public class StringManipulationTest { + + private StringManipulationInterface manipulatedstring; + + @BeforeEach + public void setUp() { + manipulatedstring = new StringManipulation(); + } + + @AfterEach + public void tearDown() { + manipulatedstring = null; + } + + @Test + public void testCount1() { + manipulatedstring.setString("Work test string"); + int length = manipulatedstring.count(); + assertEquals(4, length); + } + + @Test + public void testCount2() { + manipulatedstring.setString(""); + int length = manipulatedstring.count(); + assertEquals(0, length); + } + + @Test + public void testCount3() { + manipulatedstring.setString("Testing"); + int length = manipulatedstring.count(); + assertEquals(1, length); + } + + @Test + public void testCount4() { + manipulatedstring.setString("Method is tested for longer text now"); + int length = manipulatedstring.count(); + assertEquals(7, length); + } + + @Test + public void testRemoveNthCharacter1() { + manipulatedstring.setString("I'd b3tt3r put s0me d161ts in this 5tr1n6, right?"); + assertEquals("I' bttr uts0e 16tsinths trn6 rgh?", manipulatedstring.removeNthCharacter(3, false)); + } + + @Test + public void testRemoveNthCharacter2() { + manipulatedstring.setString("I'd b3tt3r put s0me d161ts in this 5tr1n6, right?"); + assertEquals("I' b tt r ut s0 e 16 ts in th s tr n6 r gh ?", manipulatedstring.removeNthCharacter(3, true)); + } + + @Test + public void testRemoveNthCharacter3() { + manipulatedstring.setString("Removing every multiple of four's position"); + assertEquals("Remvin evry ultpleof ours psiton", manipulatedstring.removeNthCharacter(4, false)); + } + + @Test + public void testRemoveNthCharacter4() { + manipulatedstring.setString("Removing every multiple of four's position"); + assertEquals("Rem vin ev ry ult ple of our s p sit on", manipulatedstring.removeNthCharacter(4, true)); + } + + @Test + public void testRemoveNthCharacter5() { + manipulatedstring.setString("a simpler phrase for a simple test"); + assertEquals("a simpler phrase for a simple tes ", manipulatedstring.removeNthCharacter(34, true)); + } + + @Test + public void testRemoveNthCharacter6() { + manipulatedstring.setString("a simpler phrase for a simple test"); + assertEquals("a simpler phrase for a simple tes", manipulatedstring.removeNthCharacter(34, false)); + } + + @Test + public void testRemoveNthCharacter7() { + manipulatedstring.setString("Arkansas is a big state perhaps"); + assertEquals("", manipulatedstring.removeNthCharacter(1, false)); + } + + @Test + public void testGeSubStrings1() { + manipulatedstring.setString("This is my string"); + String [] sStings = manipulatedstring.getSubStrings(3, 4); + + assertEquals(sStings[0], "my"); + assertEquals(sStings[1], "string"); + } + + @Test + public void testGeSubStrings2() { + manipulatedstring.setString("A blanket statement has been made"); + String [] sStings = manipulatedstring.getSubStrings(1, 4); + + assertEquals(sStings[0], "A"); + assertEquals(sStings[1], "has"); + } + @Test + public void testGeSubStrings3() { + manipulatedstring.setString("there are a few words here"); + String [] sStings = manipulatedstring.getSubStrings(1, 2); + + assertEquals(sStings[0], "there"); + assertEquals(sStings[1], "are"); + } + @Test + public void testGeSubStrings4() { + manipulatedstring.setString("batmanium is no real element"); + String [] sStings = manipulatedstring.getSubStrings(3, 5); + + assertEquals(sStings[0], "no"); + assertEquals(sStings[1], "element"); + } + @Test + public void testGeSubStrings5() { + manipulatedstring.setString("no one should smoke, as smoking is bad"); + String [] sStings = manipulatedstring.getSubStrings(1, 6); + + assertEquals(sStings[0], "no"); + assertEquals(sStings[1], "smoking"); + } + @Test + public void testGeSubStrings6() { + manipulatedstring.setString("Extract the main idea from this sentence"); + String [] sStings = manipulatedstring.getSubStrings(1, 7); + + assertEquals(sStings[0], "Extract"); + assertEquals(sStings[1], "sentence"); + } + + @Test + public void testRestoreString1() + { + manipulatedstring.setString("art"); + int [] array; + array=new int[]{1,0,2}; + String restoreString = manipulatedstring.restoreString(array); + assertEquals(restoreString, "rat"); + } + + @Test + public void testRestoreString2() + { + manipulatedstring.setString("Neil Armstrong"); + int [] array; + array=new int[]{13,12,11,10,9,8,7,6,5,4,3,2,1,0}; + String restoreString = manipulatedstring.restoreString(array); + assertEquals(restoreString, "gnortsmrA lieN"); + } + + @Test + public void testRestoreString3() + { + manipulatedstring.setString("desperation"); + int [] array; + array=new int[]{6,5,9,3,1,4,10,0,2,8,7}; + String restoreString = manipulatedstring.restoreString(array); + assertEquals(restoreString, "aropeendsit"); + } + + @Test + public void testRestoreString4() + { + manipulatedstring.setString("contradiction"); + int [] array; + array=new int[]{5,0,8,1,4,6,2,11,9,10,12,7,3}; + String restoreString = manipulatedstring.restoreString(array); + assertEquals(restoreString, "accordnotinit"); + } + + @Test + public void testRestoreString5() + { + manipulatedstring.setString("easy"); + int [] array; + array=new int[]{3,0,1,2}; + String restoreString = manipulatedstring.restoreString(array); + assertEquals(restoreString, "yeas"); + } + +}