/** * Copyright (c) 2016, All Contributors (see CONTRIBUTORS file) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package com.eventsourcing; import com.eventsourcing.events.EventCausalityEstablished; import org.testng.annotations.Test; import java.util.stream.Collectors; import java.util.stream.Stream; import static org.testng.Assert.*; public class EventStreamTest { @Test public void testBuilder() throws Exception { EventStream<String> test = EventStream.builder("test").add(EventCausalityEstablished.builder().build()).build(); assertEquals(test.getState(), "test"); Event event = test.getStream().findFirst().get(); assertTrue(event instanceof EventCausalityEstablished); } @Test public void testBuilder1() throws Exception { EventStream<String> test = EventStream.<String>builder().add(EventCausalityEstablished.builder().build()).build(); assertNull(test.getState()); Event event = test.getStream().findFirst().get(); assertTrue(event instanceof EventCausalityEstablished); } @Test public void testEmpty() throws Exception { EventStream<Object> empty = EventStream.empty(); assertNull(empty.getState()); assertFalse(empty.getStream().anyMatch(x -> true)); } @Test public void testEmpty1() throws Exception { EventStream<Object> empty = EventStream.empty("empty"); assertEquals(empty.getState(), "empty"); assertFalse(empty.getStream().anyMatch(x -> true)); } @Test public void testOf() throws Exception { EventStream<Object> test = EventStream.of(EventCausalityEstablished.builder().build()); assertNull(test.getState()); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 1); } @Test public void testOf1() throws Exception { EventStream<String> test = EventStream.of(EventCausalityEstablished.builder().build(), EventCausalityEstablished.builder().build()); assertNull(test.getState()); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 2); } @Test public void testOf2() throws Exception { EventStream<String> test = EventStream.ofWithState("test", EventCausalityEstablished.builder().build()); assertEquals(test.getState(), "test"); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 1); } @Test public void testOf3() throws Exception { EventStream<String> test = EventStream.ofWithState("test", EventCausalityEstablished.builder().build(), EventCausalityEstablished.builder().build()); assertEquals(test.getState(), "test"); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 2); } @Test public void testOf4() throws Exception { EventStream<String> test = EventStream.ofWithState("test", Stream.of(EventCausalityEstablished.builder().build(), EventCausalityEstablished.builder().build())); assertEquals(test.getState(), "test"); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 2); } @Test public void testOf5() throws Exception { EventStream<String> test = EventStream.of(Stream.of(EventCausalityEstablished.builder().build(), EventCausalityEstablished.builder().build())); assertNull(test.getState()); assertEquals(test.getStream().collect(Collectors.<Event>toSet()).size(), 2); } }