package ovh.gasser.newshapes.util; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.*; class StreamableTest { private static class TestStreamable implements Streamable { private final List elements; TestStreamable(List elements) { this.elements = new ArrayList<>(elements); } @Override public java.util.Iterator iterator() { return elements.iterator(); } } @Test void testStreamReturnsStreamOfElements() { List testData = Arrays.asList("a", "b", "c"); Streamable streamable = new TestStreamable(testData); Stream result = streamable.stream(); assertNotNull(result); assertEquals(testData, result.toList()); } @Test void testStreamEmptyCollection() { List emptyData = new ArrayList<>(); Streamable streamable = new TestStreamable(emptyData); Stream result = streamable.stream(); assertNotNull(result); assertTrue(result.toList().isEmpty()); } }