From 2aa7fb3822d02b22c8dd70e8067493f241c7f907 Mon Sep 17 00:00:00 2001 From: amadoste Date: Wed, 10 Nov 2021 13:14:32 +0100 Subject: [PATCH 1/7] Added documentation to class TextLogik. --- src/TextLogik.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/TextLogik.java b/src/TextLogik.java index ab0126e..4038762 100644 --- a/src/TextLogik.java +++ b/src/TextLogik.java @@ -4,6 +4,11 @@ public class TextLogik { private final Text text; private final TextOutput textOutput; + /** + * Initiates a new instance of the class TextLogik. + * Contains command instructions for the class Text. + * Defined the different cases and appointed to specific commands. + */ public TextLogik() { text = new Text(); textOutput = new TextOutput(); @@ -79,6 +84,12 @@ public class TextLogik { } while (!"EXIT".equals(command[0])); } + /** + * Method to check if a command is numeric. + * + * @param str command that should be a number. + * @return true if the given str matches. + */ private boolean isNumeric(String str) { return str.matches("\\d+"); } From 8baea9f14044a0f6aedfabef7cf7f25f4a90401b Mon Sep 17 00:00:00 2001 From: schrom01 Date: Wed, 10 Nov 2021 13:55:59 +0100 Subject: [PATCH 2/7] added Test Method for add and dummy method in TextTest.java --- test/TextTest.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/TextTest.java b/test/TextTest.java index d8e2190..64516be 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -14,6 +14,25 @@ public class TextTest { txt = new Text(); } + /** + * Test Method for add and dummy methods + */ + @Test + void addTest() { + Assertions.assertEquals(0, txt.getText().size()); + Assertions.assertEquals(false, txt.add(1, "test")); + Assertions.assertEquals(false, txt.dummy(1)); + Assertions.assertEquals(0, txt.getText().size()); + Assertions.assertEquals(true, txt.add("test1")); + Assertions.assertEquals(true, txt.add(1, "test2")); + Assertions.assertEquals("test2", txt.getText().get(0)); + Assertions.assertEquals("test1", txt.getText().get(1)); + Assertions.assertEquals(true, txt.dummy(2)); + Assertions.assertEquals(true, txt.dummy()); + Assertions.assertEquals(true, txt.getText().get(1).equals(txt.getText().get(3))); + Assertions.assertEquals(4, txt.getText().size()); + } + @Test void indexTest() { txt.add("Hallo ?Hallo> zusammen !test!"); From 549444b63c6613082e708c5a0ae2e09ee19abdb0 Mon Sep 17 00:00:00 2001 From: Andrin Fassbind Date: Wed, 10 Nov 2021 18:19:40 +0100 Subject: [PATCH 3/7] indexTest method added to TextTest --- docs/Äquivalenzklassen.md | 16 ++++++++++++++++ src/Text.java | 2 ++ src/TextEditor.java | 1 + test/TextTest.java | 39 ++++++++++++++++++++++++++++----------- 4 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 docs/Äquivalenzklassen.md diff --git a/docs/Äquivalenzklassen.md b/docs/Äquivalenzklassen.md new file mode 100644 index 0000000..15d6ca6 --- /dev/null +++ b/docs/Äquivalenzklassen.md @@ -0,0 +1,16 @@ +#Äquivalenzklassen + +### Text.java Index method + +|Positiv testcase|| +|:---|:---| +|1. Case|At least one Word gets used more than 3 times but not more than 3 times in one paragraph && at least one word doesn't get used more than 3 times in the whole text.| +|2. Case|At least one word gets used more than 3 times in only one paragraph çç at least one word doesn't get used more than 3 times in the whole text.| +|3. Case|The same word is been written in uppercase and lowercase and is been noticed as the same word.| +|4. Case|Punctuation marks and spaces are in the text| + +|Negativ testcase|| +|:---|:---| +|1. Case|Empty list of paragraphs| +|2. Case|Several punctuation marks and or spaces are been used behind| + diff --git a/src/Text.java b/src/Text.java index 57b18fb..303601c 100644 --- a/src/Text.java +++ b/src/Text.java @@ -172,10 +172,12 @@ public class Text { for (int i = 0; i < text.size(); i++) { String[] words = text.get(i).trim().toLowerCase().split("[ :;.,!?><'/\n]+"); for (String word : words) { + //Words get formatted consistently counter = 1; firstLetter = word.substring(0, 1); restLetters = word.substring(1); word = firstLetter.toUpperCase() + restLetters; + //Words are beeing counted if (wordbook.containsKey(word)) { numbersList = wordbook.get(word); counter = numbersList.get(0); diff --git a/src/TextEditor.java b/src/TextEditor.java index bb87961..e9b9b48 100644 --- a/src/TextEditor.java +++ b/src/TextEditor.java @@ -3,6 +3,7 @@ public class TextEditor { public static void main(String[] args) { TextLogik t = new TextLogik(); + } } diff --git a/test/TextTest.java b/test/TextTest.java index 64516be..3536167 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -1,13 +1,11 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; - import java.util.ArrayList; -import java.util.HashMap; + public class TextTest { Text txt; - ArrayList sListe; @BeforeEach void setup() { @@ -33,15 +31,34 @@ public class TextTest { Assertions.assertEquals(4, txt.getText().size()); } + /** + * Test methode for Index method + */ @Test void indexTest() { - txt.add("Hallo ?Hallo> zusammen !test!"); - txt.add("Hallo, wie zusammen"); - txt.add("Hallo! Wie wie zusammen"); - sListe= txt.index(); - for (String str : sListe){ - System.out.println(str); - } - Assertions.assertEquals("Hallo 1, 2, 3",sListe.get(0)); + ArrayList stringListe; + + //Positiv Testcase One, Three and Four Negativ Testcase Two + txt.add("Word word Test"); + txt.add("Word word etc. !!test zweite... Zeile"); + txt.add("Lorem ipsum lorem ipsum TEST"); + stringListe = txt.index(); + Assertions.assertEquals("Word 1, 2",stringListe.get(0)); + Assertions.assertEquals("Test 1, 2, 3",stringListe.get(1)); + //End of Test + + setup(); + + //Positiv Testcase Two + txt.add("Word word Word Test"); + stringListe = txt.index(); + Assertions.assertEquals("Word 1",stringListe.get(0)); + //End of Test + + setup(); + + //Negativ Testcase One + stringListe = txt.index(); + Assertions.assertEquals(0,stringListe.size()); } } From 0060da1f501af8044116f5684e59cb558609e38a Mon Sep 17 00:00:00 2001 From: schrom01 Date: Thu, 11 Nov 2021 09:43:14 +0100 Subject: [PATCH 4/7] added Test Method replace in TextTest.java --- test/TextTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/TextTest.java b/test/TextTest.java index 3536167..5edc9da 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -31,6 +31,17 @@ public class TextTest { Assertions.assertEquals(4, txt.getText().size()); } + @Test + void replace() { + Assertions.assertEquals(true, txt.add("Das ist der erste Beispiel Text.")); + Assertions.assertEquals(true, txt.add("Das ist der zweite Beispiel Text.")); + Assertions.assertEquals(false, txt.replace(3, "alt", "neu")); + Assertions.assertEquals(true, txt.replace(1, "erste", "zweite")); + Assertions.assertEquals(true, txt.replace("zweite", "erste")); + Assertions.assertEquals("Das ist der zweite Beispiel Text.", txt.getText().get(0)); + Assertions.assertEquals("Das ist der erste Beispiel Text.", txt.getText().get(1)); + } + /** * Test methode for Index method */ From e1ea2803a32c5df39cd0c1f2f81d3ac9eb68d6bd Mon Sep 17 00:00:00 2001 From: schrom01 Date: Thu, 11 Nov 2021 09:44:23 +0100 Subject: [PATCH 5/7] added Java Doc in TextTest.java --- test/TextTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/TextTest.java b/test/TextTest.java index 5edc9da..1c02e61 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -31,6 +31,9 @@ public class TextTest { Assertions.assertEquals(4, txt.getText().size()); } + /** + * Test Method for replace Method + */ @Test void replace() { Assertions.assertEquals(true, txt.add("Das ist der erste Beispiel Text.")); From 86631b4225be8474c24d9a588df590425e926b25 Mon Sep 17 00:00:00 2001 From: Andrin Fassbind Date: Thu, 11 Nov 2021 10:54:12 +0100 Subject: [PATCH 6/7] Text.java Datafield updated ClassDiagram updated --- docs/PM2_ClassDiagram.drawio | 2 +- src/Text.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/PM2_ClassDiagram.drawio b/docs/PM2_ClassDiagram.drawio index e6ee161..a8aea87 100644 --- a/docs/PM2_ClassDiagram.drawio +++ b/docs/PM2_ClassDiagram.drawio @@ -1 +1 @@ -7VvbcqM4EP0aV2UesmUuxs5jbGdmU+Xszo5nazKPCiigipAoIcd2vn5bSFwMxEsmZrOp8GTUagnU56i71eCRs4h3XwRKohseYDqyx8Fu5CxHtm25Mwd+lGSvJdOZpQWhIIFRKgVr8oSNcGykGxLg9EBRck4lSQ6FPmcM+/JAhoTg20O1e04P75qgEDcEax/RpvQHCWSkpTN7Wsp/xySM8jtb3oXuiVGubFaSRijg24rIuRo5C8G51FfxboGpMl5uFz3u8zO9xYMJzGSXARcr7+ruJnlKf/jkj5+3ePXX39vziZ7lEdGNWfB3vJNXAZFcmMeW+9wW6ZbEFDFoze85k2vTY0EbURIyuPbhYbAAwSMWkoAZL02H5AlI/YjQYIX2fKMeOZXIf8hb84gL8gTTImrmhG4hDSNs70BjrUaCeAxSgVPQ+ZrbwaqJbtDuQHGFUmkEPqcUJSm5K5YRIxESNudS8tgoNc1sLK9WiHcVkTH7F8xjLMUeVEzvxDDAbAEnb29LQhUsiSpk8owMGQ6HxcwlzHBhkH4B6tMG6g2sKclwTqXgDwXzlYnuCaULToEezpLxTCkHn+J72QJ9TIKAZpMlyCcs/K6osDy3SskqG7h0Ssk3YwUlElwiiTRIChGK7jD9ylMiCVfzC607TzhhMjPVZD6aLDOJkAvOYBGIZOhhAH+LFQFacD26Qf4dbIMuMLUTuLOesJ01sE0EeUQSZ/giQEb1cpjDHt+AWc7WUoDBjc2U0wzTTw06wOJlQYca/C9nhHYGh+C7TfCViMPYe5r5zQh4hFkLIQ6Bn4OxF+PfJtlyFtC2yvabscJxu7EiZ8/JaWHZrZ5+8PEn8vHexaGTLxKYCuKW14b4uC8vbzktbh7WOr4UAu1XBGxke1TBYlyA7YV6D4xlGzUGH9C+o14TGtop0ZsTcIfA3x+8E7sbvH1FfquZzOv9joLgDEI6sMqxtLubB5s43p+xmhR0BU4o8nFbF2EBGKIuDbFUgaR+A3XkwzSbZnAjp+WZ1zGyWG5vkcVrME0fGVc8JA9DTnGinMKZ1Q6O7rQj8pPekG8eHXUaaVKGwgWs96nE8Z8b1aVwqjqHwSEcdQheZ568MK+Yun2xonnoHPKKk8FrjTs6/N4Si4tnEguYPuLBmdwn+NPIuVReAC4re/0cRHhHhrNED6SYdSOFa/fEirx8UWFFxekPKUAvZQXXcd46+SsWUeKuaK/erYgYDZG++64vdtD7qSDkgX2I9H3A+9YVBPu5imEisi1eO+DrDf8NbZ/p+Ux2Z3fNugAWgotrBjchQVF5fF5lweMYsWBwJqdmW9c6wqy3SNIsR+oM4poNCURPCcRk1jFvtPrzMs06pTonrH3EGOAHsOdXH3THVwnudt3+bmdmvDCXcPuqGtjNKuKQS5wM3ukbFw3sto9M9BsGFOhiQSP4KzfgR9h/uGbJRpruTPWOc4oRq+kKHMPWXCf4aREhgXxw/+ngNXr1GtOO4aO3CrTTwWtgFlyqb/9UUkBRmhJfRXAZ59EdjCL2t9XGT4UHGNo0l3nc1q193toReVu5royCVjlINYoxQYhzWAC9iIecIXpVSp+P8infCB8fgy//IhJSB3y0vmQ2o3qYoyhXYJ0cQVVgiiR5xAeP2wa1ucNXrksEhmJTr1bVqKeYeuVmVEmYxkQzq14eqU2kLdOYKGNesexXkLHDl3QfhYz56+d3R8ZxnYy1imlXMk5q33m61n9Mxg5vYT4KGfPs472T0Zn+omd8azLm5ef3QsZX+L2uVJv9r5n2yzF4WmfayWIwNMu/R2j18k8mztU/ \ No newline at end of file + \ No newline at end of file diff --git a/src/Text.java b/src/Text.java index 303601c..df06b53 100644 --- a/src/Text.java +++ b/src/Text.java @@ -6,7 +6,6 @@ public class Text { private final ArrayList text = new ArrayList<>(); private static final String dummyText = "The standard Lorem Ipsum passage, used since the 1500s \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\" Section 1.10.32 of \"de Finibus Bonorum et Malorum\", written by Cicero in 45 BC \"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?"; - private HashMap> wordbook = new HashMap<>(); /** * Method to check if a specific Paragraph exists @@ -136,7 +135,7 @@ public class Text { * @return ArrayList */ public ArrayList index() { - wordbook = createWordlist(); + HashMap> wordbook = createWordlist(); String input; ArrayList output = new ArrayList<>(); ArrayList values; @@ -165,6 +164,7 @@ public class Text { * @return HashMap> */ private HashMap> createWordlist() { + HashMap> wordbook = new HashMap<>(); int counter; ArrayList numbersList; String firstLetter; From 265d37ca2a05444808f5a9dcd14af963c7961bb3 Mon Sep 17 00:00:00 2001 From: schrom01 Date: Thu, 11 Nov 2021 11:33:10 +0100 Subject: [PATCH 7/7] added Test method del in TextTest.java --- test/TextTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/TextTest.java b/test/TextTest.java index 1c02e61..1ec7105 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -31,6 +31,23 @@ public class TextTest { Assertions.assertEquals(4, txt.getText().size()); } + /** + * + * Test Method del + */ + @Test + void del() { + Assertions.assertEquals(true, txt.add("Das ist der erste Beispiel Text.")); + Assertions.assertEquals(true, txt.add("Das ist der zweite Beispiel Text.")); + Assertions.assertEquals(true, txt.add("Das ist der dritte Beispiel Text.")); + Assertions.assertEquals(true, txt.add("Das ist der vierte Beispiel Text.")); + Assertions.assertEquals(false, txt.del(5)); + Assertions.assertEquals(true, txt.del(2)); + Assertions.assertEquals(true, txt.del()); + Assertions.assertEquals("Das ist der erste Beispiel Text.", txt.getText().get(0)); + Assertions.assertEquals("Das ist der dritte Beispiel Text.", txt.getText().get(1)); + } + /** * Test Method for replace Method */