Skip to content
Snippets Groups Projects
Commit f07a323d authored by Christian Wulf's avatar Christian Wulf
Browse files

fixed MergerTest

parent 454499bb
No related branches found
No related tags found
No related merge requests found
......@@ -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));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment