From bc4dd38db4d0a2a79968befc43f79770db261225 Mon Sep 17 00:00:00 2001 From: Andrin Fassbind Date: Thu, 11 Nov 2021 17:18:50 +0100 Subject: [PATCH] TextLogik remove duplicated code --- src/Text.java | 14 ++++++++++---- src/TextLogik.java | 22 ++++++++++++++-------- test/TextTest.java | 6 ++++++ 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/Text.java b/src/Text.java index a4e5f59..60c830c 100644 --- a/src/Text.java +++ b/src/Text.java @@ -102,8 +102,11 @@ public class Text { * @return returns true if the paragraph is changed successfully */ public boolean replace(String oldChar, String newChar) { - text.set((text.size() - 1), text.get(text.size() - 1).replace(oldChar, newChar)); - return true; + if(paragraphExists((text.size()))) { + text.set((text.size() - 1), text.get(text.size() - 1).replace(oldChar, newChar)); + return true; + } + return false; } /** @@ -127,8 +130,11 @@ public class Text { * @return True: if paragraph has been deleted. */ public boolean del() { - text.remove(text.size() - 1); - return true; + if(paragraphExists(text.size())){ + text.remove(text.size() - 1); + return true; + } + return false; } /** diff --git a/src/TextLogik.java b/src/TextLogik.java index a1f84fa..a8682c8 100644 --- a/src/TextLogik.java +++ b/src/TextLogik.java @@ -71,13 +71,19 @@ public class TextLogik { textOutput.print(text.getText()); break; case "REPLACE": - textOutput.userInfoOutput("Please enter your text to replace: "); - if (command.length == 1){ - checkIfSuccess(text.replace(TextInput.getTextInput(), TextInput.getTextInput())); - }else if(isNumeric(command[1])) { + String oldChar = ""; + while (oldChar.length() == 0) { + textOutput.userInfoOutput("Please enter your text to replace: "); + oldChar = TextInput.getTextInput(); + } + textOutput.userInfoOutput("Please enter the new text: "); + String newChar = TextInput.getTextInput(); + if (command.length == 1) { + checkIfSuccess(text.replace(oldChar, newChar)); + } else if (isNumeric(command[1])) { int line = Integer.parseInt(command[1]); - checkIfSuccess(text.replace(line, TextInput.getTextInput(), TextInput.getTextInput())); - }else { + checkIfSuccess(text.replace(line, oldChar, newChar)); + } else { textOutput.errorInvalidCommand(); } @@ -101,9 +107,9 @@ public class TextLogik { } private void checkIfSuccess(boolean method) { - if(method) { + if (method) { textOutput.userInfoOutput("Command was successfull"); - }else { + } else { textOutput.errorInvalidParagraph(); } } diff --git a/test/TextTest.java b/test/TextTest.java index 9818d55..8091360 100644 --- a/test/TextTest.java +++ b/test/TextTest.java @@ -92,4 +92,10 @@ public class TextTest { stringListe = txt.index(); Assertions.assertEquals(0,stringListe.size()); } + + @Test + void testing() { + txt.add(""); + txt.index(); + } }