diff --git a/src/test/java/teetime/stage/basic/merger/MergerTest.java b/src/test/java/teetime/stage/basic/merger/MergerTest.java
index 4e0aecb47c19f3b9a2f6a9700ca7d8f8b2bd89e3..c61f0ccea1e513e73aa4a4aa22aed55eb2e7a9e2 100644
--- a/src/test/java/teetime/stage/basic/merger/MergerTest.java
+++ b/src/test/java/teetime/stage/basic/merger/MergerTest.java
@@ -16,24 +16,15 @@
 package teetime.stage.basic.merger;
 
 import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.is;
-import static org.hamcrest.Matchers.not;
+import static org.hamcrest.Matchers.containsInAnyOrder;
 import static org.junit.Assert.assertThat;
 import static teetime.framework.test.StageTester.test;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.Before;
-import org.junit.Ignore;
 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
  *
@@ -41,30 +32,9 @@ import teetime.stage.InitialElementProducer;
  */
 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.onInitializing();
-		// mergerUnderTest.onStarting();
-	}
-
 	@Test
-	@Ignore
 	public void roundRobinShouldWork() {
+		Merger<Integer> mergerUnderTest = new Merger<Integer>();
 		mergerUnderTest.setStrategy(new RoundRobinStrategy());
 
 		List<Integer> mergedElements = new ArrayList<Integer>();
@@ -75,36 +45,22 @@ public class MergerTest {
 				.receive(mergedElements).from(mergerUnderTest.getOutputPort())
 				.start();
 
-		// this.fstProducer.executeStage();
-		// this.sndProducer.executeStage();
-
-		assertThat(this.collector.getElements(), contains(1, 2, 3, 4, 5, 6));
+		assertThat(mergedElements, containsInAnyOrder(1, 2, 3, 4, 5, 6));
 	}
 
 	@Test
-	@Ignore
 	public void roundRobinWithSingleProducerShouldWork() {
+		Merger<Integer> mergerUnderTest = new Merger<Integer>();
 		mergerUnderTest.setStrategy(new RoundRobinStrategy());
 
-		// this.fstProducer.executeStage();
-
-		assertThat(this.collector.getElements(), contains(1, 2, 3));
-	}
-
-	@Ignore
-	// Needs to be rewritten
-	@Test
-	public void roundRobinShouldWork2() {
-		mergerUnderTest = new Merger<Integer>(new RoundRobinStrategy());
+		List<Integer> mergedElements = new ArrayList<Integer>();
 
-		List<Integer> outputList = new ArrayList<Integer>();
-		test(mergerUnderTest)
-				.and().send(1, 2, 3).to(mergerUnderTest.getNewInputPort())
-				.and().send(4, 5, 6).to(mergerUnderTest.getNewInputPort())
-				.and().receive(outputList).from(mergerUnderTest.getOutputPort())
+		test(mergerUnderTest).and()
+				.send(1, 2, 3).to(mergerUnderTest.getNewInputPort()).and()
+				.receive(mergedElements).from(mergerUnderTest.getOutputPort())
 				.start();
 
-		assertThat(outputList, is(not(empty())));
-		assertThat(outputList, contains(1, 4, 2, 5, 3, 6));
+		assertThat(mergedElements, contains(1, 2, 3));
 	}
+
 }