diff --git a/src/test/java/teetime/stage/basic/distributor/DistributorTest.java b/src/test/java/teetime/stage/basic/distributor/DistributorTest.java
index 3ea966dbf47173301adab68c26c1b4801ddb1651..58116c478cc15846765ff036d19711aec890862d 100644
--- a/src/test/java/teetime/stage/basic/distributor/DistributorTest.java
+++ b/src/test/java/teetime/stage/basic/distributor/DistributorTest.java
@@ -29,7 +29,7 @@ public class DistributorTest {
 	private CollectorSink<Integer> sndCollector;
 
 	@Before
-	public void initializeRecordSimplificator() throws Exception {
+	public void initializeDistributor() throws Exception {
 		this.distributorUnderTest = new Distributor<Integer>();
 		this.fstCollector = new CollectorSink<Integer>();
 		this.sndCollector = new CollectorSink<Integer>();
diff --git a/src/test/java/teetime/stage/basic/merger/MergerTest.java b/src/test/java/teetime/stage/basic/merger/MergerTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..0ea68fc12b2b07456a53cdbada525f74c65f31a5
--- /dev/null
+++ b/src/test/java/teetime/stage/basic/merger/MergerTest.java
@@ -0,0 +1,60 @@
+package teetime.stage.basic.merger;
+
+import static org.hamcrest.Matchers.contains;
+import static org.junit.Assert.assertThat;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import teetime.framework.pipe.IPipeFactory;
+import teetime.framework.pipe.SingleElementPipeFactory;
+import teetime.stage.CollectorSink;
+import teetime.stage.InitialElementProducer;
+
+/**
+ * @author Nils Christian Ehmke
+ *
+ * @since 1.0
+ */
+public class MergerTest {
+
+	private Merger<Integer> mergerUnderTest;
+	private CollectorSink<Integer> collector;
+	private InitialElementProducer<Integer> fstProducer;
+	private InitialElementProducer<Integer> sndProducer;
+
+	@Before
+	public void initializeMerger() throws Exception {
+		this.mergerUnderTest = new Merger<Integer>();
+		this.collector = new CollectorSink<Integer>();
+		this.fstProducer = new InitialElementProducer<Integer>(1, 2, 3);
+		this.sndProducer = new InitialElementProducer<Integer>(4, 5, 6);
+
+		final IPipeFactory pipeFactory = new SingleElementPipeFactory();
+		pipeFactory.create(this.fstProducer.getOutputPort(), this.mergerUnderTest.getNewInputPort());
+		pipeFactory.create(this.sndProducer.getOutputPort(), this.mergerUnderTest.getNewInputPort());
+		pipeFactory.create(this.mergerUnderTest.getOutputPort(), this.collector.getInputPort());
+
+		mergerUnderTest.onStarting();
+	}
+
+	@Test
+	public void roundRobinShouldWork() {
+		mergerUnderTest.setStrategy(new RoundRobinStrategy());
+
+		this.fstProducer.executeWithPorts();
+		this.sndProducer.executeWithPorts();
+
+		assertThat(this.collector.getElements(), contains(1, 2, 3, 4, 5, 6));
+	}
+
+	@Test
+	public void roundRobinWithSingleProducerShouldWork() {
+		mergerUnderTest.setStrategy(new RoundRobinStrategy());
+
+		this.fstProducer.executeWithPorts();
+
+		assertThat(this.collector.getElements(), contains(1, 2, 3));
+	}
+
+}