Make SinglyLinkedList Iterable (#4334)

This commit is contained in:
Piotr Idzik
2023-08-28 09:11:07 +02:00
committed by GitHub
parent 80a4435038
commit ea15f2bd98
2 changed files with 86 additions and 15 deletions

View File

@ -3,6 +3,7 @@ package com.thealgorithms.datastructures.lists;
import static org.junit.jupiter.api.Assertions.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.junit.jupiter.api.Test;
@ -207,4 +208,50 @@ public class SinglyLinkedListTest {
i--;
}
}
}
@Test
void readWithEnhancedForLoopTest() {
final var expeced = new ArrayList<Integer>(Arrays.asList(10, 20, 30));
SinglyLinkedList list = new SinglyLinkedList();
for (final var x : expeced) {
list.insert(x);
}
var readElements = new ArrayList<Integer>();
for (final var x : list) {
readElements.add(x);
}
assertEquals(readElements, expeced);
}
@Test
void toStringTest() {
SinglyLinkedList list = new SinglyLinkedList();
list.insert(1);
list.insert(2);
list.insert(3);
assertEquals("1->2->3", list.toString());
}
@Test
void toStringForEmptyListTest() {
SinglyLinkedList list = new SinglyLinkedList();
assertEquals("", list.toString());
}
@Test
void countTest() {
SinglyLinkedList list = new SinglyLinkedList();
list.insert(10);
list.insert(20);
assertEquals(2, list.count());
}
@Test
void countForEmptyListTest() {
SinglyLinkedList list = new SinglyLinkedList();
assertEquals(0, list.count());
}
}