import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import java.util.ArrayList; /** * New class TextTest * This class is here to test the different methods of the Text class. * Author: Roman Schenk, Andrin Fassbind * Date: 12.11.2021 */ public class TextTest { Text txt; ArrayList stringListe; /** * This method prepares local parameters by resets them for each test method */ @BeforeEach void setup() { stringListe = new ArrayList<>(); txt = new Text(); } /** * Test methode: indexNormalTest() *

* This test method checks, if the index method lists the words with all lines, in which they appear * It should return "Word 1, 2" and "Test 1, 2, 3" */ @Test void indexNormalTest() { 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)); } /** * Test method: indexMultipleWordsTest() *

* This method tests if the method get the first word, which appears multiple times * Index() should return */ @Test void indexMultipleWordsTest() { txt.add("Word Word Word Test"); Assertions.assertEquals("Word 1", txt.index().get(0)); } /** * Test method: indexEmptyTest() *

* Tests the method index(), when there are no text saved or available * It should return an empty Array with the type String */ @Test void indexEmptyTest() { Assertions.assertEquals(new ArrayList(), txt.index()); } /** * Test method: indexWithAddedEmptyLine() *

* Test Method to check if the method index() is working with empty Strings * It should return an empty ArrayList with the type String */ @Test void indexWithAddedEmptyLine() { txt.add(""); Assertions.assertEquals(new ArrayList(), txt.index()); } /** * Test Method for add and dummy methods */ @Test void addTest() { Assertions.assertEquals(0, txt.getText().size()); Assertions.assertFalse(txt.add(1, "test")); Assertions.assertFalse(txt.dummy(1)); Assertions.assertEquals(0, txt.getText().size()); Assertions.assertTrue(txt.add("test1")); Assertions.assertTrue(txt.add(1, "test2")); Assertions.assertEquals("test2", txt.getText().get(0)); Assertions.assertEquals("test1", txt.getText().get(1)); Assertions.assertTrue(txt.dummy(2)); Assertions.assertTrue(txt.dummy()); Assertions.assertEquals(txt.getText().get(1), txt.getText().get(3)); Assertions.assertEquals(4, txt.getText().size()); } /** * Test Method del */ @Test void del() { Assertions.assertTrue(txt.add("Das ist der erste Beispiel Text.")); Assertions.assertTrue(txt.add("Das ist der zweite Beispiel Text.")); Assertions.assertTrue(txt.add("Das ist der dritte Beispiel Text.")); Assertions.assertTrue(txt.add("Das ist der vierte Beispiel Text.")); Assertions.assertFalse(txt.del(5)); Assertions.assertTrue(txt.del(2)); Assertions.assertTrue(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 */ @Test void replace() { Assertions.assertTrue(txt.add("Das ist der erste Beispiel Text.")); Assertions.assertTrue(txt.add("Das ist der zweite Beispiel Text.")); Assertions.assertFalse(txt.replace(3, "alt", "neu")); Assertions.assertTrue(txt.replace(1, "erste", "zweite")); Assertions.assertTrue(txt.replace("zweite", "erste")); Assertions.assertTrue(txt.add("Text Text hallo Text")); Assertions.assertTrue(txt.replace("Text", "Test")); Assertions.assertEquals("Das ist der zweite Beispiel Text.", txt.getText().get(0)); Assertions.assertEquals("Das ist der erste Beispiel Text.", txt.getText().get(1)); Assertions.assertEquals("Test Test hallo Test", txt.getText().get(2)); } }