Implemented functional ADD, FORMAT and PRINT feature. Reformat code in several files

This commit is contained in:
MikeZyeman 2021-11-08 20:45:44 +01:00
parent 5369a16497
commit 5d4b9114a0
7 changed files with 57 additions and 27 deletions

View File

@ -2,9 +2,13 @@ import java.util.Scanner;
public class TextInput {
private static final Scanner sc = new Scanner("");
private static final Scanner sc = new Scanner(System.in);
public static String[] checkForInput() {
return sc.nextLine().split("");
return sc.nextLine().split(" ");
}
public static String getTextInput() {
return sc.nextLine();
}
}

View File

@ -2,9 +2,11 @@ import java.util.ArrayList;
public class TextLogik {
private final Text text;
private final TextOutput textOutput;
public TextLogik() {
text = new Text();
textOutput = new TextOutput();
String[] command;
do {
@ -12,22 +14,43 @@ public class TextLogik {
switch (command[0]) {
case "ADD":
if (command.length == 1) {
text.add(TextInput.getTextInput());
} else if (isNumeric(command[1])) {
int line = Integer.parseInt(command[1]);
text.add(line, TextInput.getTextInput());
} else {
textOutput.errorInvalidCommand();
}
break;
case "DEL":
// TODO Hier Delete Funktion hinzufügen.
break;
case "Dummy":
text.dummy();
break;
case "EXIT":
break;
case "FORMAT RAW":
break;
case "FORMAT FIX":
case "FORMAT":
if (command.length > 1 && "RAW".equals(command[1])) {
textOutput.formatRaw();
} else if (command.length > 2 && "FIX".equals(command[1]) && isNumeric(command[2])) {
textOutput.formatFix(Integer.parseInt(command[2]));
} else {
textOutput.errorInvalidCommand();
}
break;
case "INDEX":
ArrayList<String> Index = text.index();
break;
case "PRINT":
textOutput.print(text.getText());
break;
case "REPLACE":
break;
@ -36,7 +59,11 @@ public class TextLogik {
break;
}
} while ("EXIT".equals(command[0]));
} while (!"EXIT".equals(command[0]));
}
private boolean isNumeric(String str) {
return str.matches("\\d+");
}
}

View File

@ -7,8 +7,7 @@ public class TextOutput {
public void print(ArrayList<String> text) {
if (formatRaw) {
printFormated(text);
}
else {
} else {
printUnformated(text);
}
}
@ -19,6 +18,7 @@ public class TextOutput {
}
}
private void printUnformated(ArrayList<String> text) {
for (String paragraph : text) {
String[] words = paragraph.split(" ");
@ -39,14 +39,13 @@ public class TextOutput {
currentLength++;
}
}
if(!(letterLenght == 0)){
if (!(letterLenght == 0)) {
System.out.println();
}
}
while (letterLenght >= columnWidth);
}
else {
} else {
if (word.length() >= columnWidth - currentLength) {
currentLength = 0;
System.out.println();
@ -64,9 +63,10 @@ public class TextOutput {
}
public void formatFix(int length) {
formatRaw = false;
columnWidth = length;
formatRaw = false;
columnWidth = length;
}
public void errorInvalidString() {
System.err.println("Invalid String");
}

View File

@ -1,2 +0,0 @@
public class SystemInputTest {
}

View File

@ -1,2 +0,0 @@
public class TextEditorTest {
}

10
test/TextInputTest.java Normal file
View File

@ -0,0 +1,10 @@
import org.junit.jupiter.api.Test;
class TextInputTest {
@Test
public void inputTest() {
}
}

View File

@ -1,18 +1,14 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import javax.swing.*;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.*;
class TextOutputTest {
TextOutput textOutput;
ArrayList<String> text;
@BeforeEach
public void setup(){
public void setup() {
textOutput = new TextOutput();
textOutput.formatFix(9);
textOutput.formatRaw();
@ -25,10 +21,7 @@ class TextOutputTest {
}
@Test
public void print(){
textOutput.print(text);
public void print() {
textOutput.print(text);
}
}