Skip to content
Snippets Groups Projects
Commit 1af53dd3 authored by Nelson Tavares de Sousa's avatar Nelson Tavares de Sousa
Browse files

added test for possible bug

parent c7429eaf
No related branches found
No related tags found
No related merge requests found
......@@ -19,6 +19,10 @@ import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
import java.util.ArrayList;
import java.util.List;
import org.junit.Ignore;
import org.junit.Test;
import teetime.stage.InitialElementProducer;
......@@ -26,6 +30,12 @@ import teetime.stage.basic.Sink;
public class TerminationTest {
@Ignore
@Test(timeout = 5000)
public void terminatesMultiInputPort() {
new Execution<Configuration>(new MultiInputConfig()).executeBlocking();
}
@Test(timeout = 1000)
public void correctAbort() throws InterruptedException {
TerminationConfig configuration = new TerminationConfig(10);
......@@ -120,4 +130,44 @@ public class TerminationTest {
}
}
private class MultiInputConsumer extends AbstractConsumerStage<Object> {
public final InputPort<Object> secondInputPort = createInputPort(Object.class);
private int count = 0;
@Override
protected void execute(final Object element) {
Object received = secondInputPort.receive();
if (received != null) {
count++;
}
if (count > 3) {
this.terminate();
}
}
}
private class MultiInputConfig extends Configuration {
public MultiInputConfig() {
List<Integer> array = new ArrayList<Integer>();
for (int i = 0; i < 10000; i++) {
array.add(new Integer(0));
}
InitialElementProducer<Object> firstInit = new InitialElementProducer<Object>(new Object());
InitialElementProducer<Integer> secondInit = new InitialElementProducer<Integer>(array);
MultiInputConsumer miConsumer = new MultiInputConsumer();
connectPorts(firstInit.getOutputPort(), miConsumer.getInputPort());
connectPorts(secondInit.getOutputPort(), miConsumer.secondInputPort);
firstInit.declareActive();
secondInit.declareActive();
miConsumer.declareActive();
}
}
}
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