dsad
unknown
java
5 months ago
6.3 kB
6
Indexable
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; class StringListTests { // Test cases for ArrayStringList @Test void testArrayStringListAdd() throws StringListException { ArrayStringList list = new ArrayStringList(); assertTrue(list.add(0, "Apple")); assertEquals(1, list.size()); assertEquals("Apple", list.get(0)); assertTrue(list.add(1, "Banana")); assertEquals(2, list.size()); assertEquals("Banana", list.get(1)); assertTrue(list.add(1, "Cherry")); // Add to the middle assertEquals(3, list.size()); assertEquals("Cherry", list.get(1)); } @Test void testArrayStringListAddOutOfBounds() { ArrayStringList list = new ArrayStringList(); assertThrows(IndexOutOfBoundsError.class, () -> list.add(1, "OutOfBounds")); } @Test void testArrayStringListGetOutOfBounds() { ArrayStringList list = new ArrayStringList(); assertThrows(IndexOutOfBoundsError.class, () -> list.get(0)); // List is empty } @Test void testArrayStringListRemove() throws StringListException { ArrayStringList list = new ArrayStringList(); list.add(0, "Apple"); list.add(1, "Banana"); String removedItem = list.remove(1); assertEquals("Banana", removedItem); assertEquals(1, list.size()); assertEquals("Apple", list.get(0)); removedItem = list.remove(0); assertEquals("Apple", removedItem); assertEquals(0, list.size()); } @Test void testArrayStringListMakeString() throws StringListException { ArrayStringList list = new ArrayStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); assertEquals("[Apple, Banana, Cherry]", list.toString()); } @Test void testArrayStringListReverse() throws StringListException { ArrayStringList list = new ArrayStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); StringList reversedList = list.reverse(); assertEquals("Cherry", reversedList.get(0)); assertEquals("Banana", reversedList.get(1)); assertEquals("Apple", reversedList.get(2)); } @Test void testArrayStringListSlice() throws StringListException { ArrayStringList list = new ArrayStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); list.add(3, "Date"); StringList slice = list.slice(1, 3); assertEquals(2, slice.size()); assertEquals("Banana", slice.get(0)); assertEquals("Cherry", slice.get(1)); } @Test void testArrayStringListContains() throws StringListException { ArrayStringList list = new ArrayStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); assertTrue(list.contains(0, "Banana")); assertFalse(list.contains(1, "Apple")); } // Test cases for LinkedStringList @Test void testLinkedStringListAdd() throws StringListException { LinkedStringList list = new LinkedStringList(); assertTrue(list.add(0, "Apple")); assertEquals(1, list.size()); assertEquals("Apple", list.get(0)); assertTrue(list.add(1, "Banana")); assertEquals(2, list.size()); assertEquals("Banana", list.get(1)); assertTrue(list.add(1, "Cherry")); // Add to the middle assertEquals(3, list.size()); assertEquals("Cherry", list.get(1)); } @Test void testLinkedStringListAddOutOfBounds() { LinkedStringList list = new LinkedStringList(); assertThrows(IndexOutOfBoundsError.class, () -> list.add(1, "OutOfBounds")); } @Test void testLinkedStringListGetOutOfBounds() { LinkedStringList list = new LinkedStringList(); assertThrows(IndexOutOfBoundsError.class, () -> list.get(0)); // List is empty } @Test void testLinkedStringListRemove() throws StringListException { LinkedStringList list = new LinkedStringList(); list.add(0, "Apple"); list.add(1, "Banana"); String removedItem = list.remove(1); assertEquals("Banana", removedItem); assertEquals(1, list.size()); assertEquals("Apple", list.get(0)); removedItem = list.remove(0); assertEquals("Apple", removedItem); assertEquals(0, list.size()); } @Test void testLinkedStringListMakeString() throws StringListException { LinkedStringList list = new LinkedStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); assertEquals("[Apple, Banana, Cherry]", list.toString()); } @Test void testLinkedStringListReverse() throws StringListException { LinkedStringList list = new LinkedStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); StringList reversedList = list.reverse(); assertEquals("Cherry", reversedList.get(0)); assertEquals("Banana", reversedList.get(1)); assertEquals("Apple", reversedList.get(2)); } @Test void testLinkedStringListSlice() throws StringListException { LinkedStringList list = new LinkedStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); list.add(3, "Date"); StringList slice = list.slice(1, 3); assertEquals(2, slice.size()); assertEquals("Banana", slice.get(0)); assertEquals("Cherry", slice.get(1)); } @Test void testLinkedStringListContains() throws StringListException { LinkedStringList list = new LinkedStringList(); list.add(0, "Apple"); list.add(1, "Banana"); list.add(2, "Cherry"); assertTrue(list.contains(0, "Banana")); assertFalse(list.contains(1, "Apple")); } }
Editor is loading...
Leave a Comment