From b5a7eaf10e7b82fc653ea6272acc6bf06f74e40b Mon Sep 17 00:00:00 2001
From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de>
Date: Tue, 21 Apr 2015 15:39:52 +0200
Subject: [PATCH] added some test methods for InitialElementProducer #113

---
 .../teetime/stage/InitialElementProducer.java | 16 -------
 .../stage/InitialElementProducerTest.java     | 47 +++++++++++++++++--
 2 files changed, 44 insertions(+), 19 deletions(-)

diff --git a/src/main/java/teetime/stage/InitialElementProducer.java b/src/main/java/teetime/stage/InitialElementProducer.java
index 21fc37fd..1fe395f6 100644
--- a/src/main/java/teetime/stage/InitialElementProducer.java
+++ b/src/main/java/teetime/stage/InitialElementProducer.java
@@ -16,7 +16,6 @@
 package teetime.stage;
 
 import java.util.Arrays;
-import java.util.List;
 
 import teetime.framework.AbstractProducerStage;
 
@@ -56,19 +55,4 @@ public final class InitialElementProducer<T> extends AbstractProducerStage<T> {
 		this.elements = elements;
 	}
 
-	public static void main(final String[] args) {
-		// int[] array = new int[] { 0, 0, 0 };
-		// new IterableProducer<Integer>(array);
-		//
-		// new InitialElementProducer<Integer>(array);
-
-		Integer[] array = new Integer[] { 0, 0, 0 };
-		new InitialElementProducer<Integer>(array);
-
-		new InitialElementProducer<Integer>(0, 0, 0);
-
-		List<Integer> iterable = Arrays.asList(0, 0, 0);
-		new InitialElementProducer<Integer>(iterable);
-	}
-
 }
diff --git a/src/test/java/teetime/stage/InitialElementProducerTest.java b/src/test/java/teetime/stage/InitialElementProducerTest.java
index c748a9bd..5667be30 100644
--- a/src/test/java/teetime/stage/InitialElementProducerTest.java
+++ b/src/test/java/teetime/stage/InitialElementProducerTest.java
@@ -24,7 +24,6 @@ import static teetime.framework.test.StageTester.test;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.Before;
 import org.junit.Test;
 
 /**
@@ -34,13 +33,14 @@ public class InitialElementProducerTest {
 
 	private InitialElementProducer<Integer> producer;
 
-	@Before
+	// @Before
 	public void initializeProducer() {
 		producer = new InitialElementProducer<Integer>();
 	}
 
 	@Test
 	public void producerShouldByDefaultSendNothing() {
+		initializeProducer();
 		List<Integer> results = new ArrayList<Integer>();
 
 		test(producer).and().receive(results).from(producer.getOutputPort()).start();
@@ -48,7 +48,8 @@ public class InitialElementProducerTest {
 	}
 
 	@Test
-	public void producerShouldSendDefinedValues() {
+	public void testSetIterArray() {
+		initializeProducer();
 		producer.setIter(new Integer[] { 1, 2, 3 });
 		List<Integer> results = new ArrayList<Integer>();
 
@@ -56,4 +57,44 @@ public class InitialElementProducerTest {
 		assertThat(results, contains(1, 2, 3));
 	}
 
+	@Test
+	public void testSetIterVarargs() {
+		initializeProducer();
+		producer.setIter(1, 2, 3);
+		List<Integer> results = new ArrayList<Integer>();
+
+		test(producer).and().receive(results).from(producer.getOutputPort()).start();
+		assertThat(results, contains(1, 2, 3));
+	}
+
+	@Test
+	public void instantiateWithArray() {
+		producer = new InitialElementProducer<Integer>(new Integer[] { 1, 2, 3 });
+		List<Integer> results = new ArrayList<Integer>();
+
+		test(producer).and().receive(results).from(producer.getOutputPort()).start();
+		assertThat(results, contains(1, 2, 3));
+	}
+
+	@Test
+	public void instantiateWithVarargs() {
+		producer = new InitialElementProducer<Integer>(1, 2, 3);
+		List<Integer> results = new ArrayList<Integer>();
+
+		test(producer).and().receive(results).from(producer.getOutputPort()).start();
+		assertThat(results, contains(1, 2, 3));
+	}
+
+	@Test
+	public void instantiateWithIterable() {
+		List<Integer> test = new ArrayList<Integer>();
+		test.add(1);
+		test.add(2);
+		test.add(3);
+		producer = new InitialElementProducer<Integer>(test);
+		List<Integer> results = new ArrayList<Integer>();
+
+		test(producer).and().receive(results).from(producer.getOutputPort()).start();
+		assertThat(results, contains(1, 2, 3));
+	}
 }
-- 
GitLab