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

Added tests for new signalhandling in merger

parent 3fbcd28b
No related branches found
No related tags found
No related merge requests found
package teetime.stage.basic.merger;
import org.junit.Assert;
import org.junit.Test;
import teetime.framework.InputPort;
import teetime.framework.signal.StartingSignal;
import teetime.framework.signal.TerminatingSignal;
public class MergerTest {
private Merger<Integer> merger;
private InputPort<Integer> firstPort;
private InputPort<Integer> secondPort;
private MergerTestingPipe testPipe;
public void beforeSignalTesting() {
merger = new Merger<Integer>();
firstPort = merger.getNewInputPort();
secondPort = merger.getNewInputPort();
testPipe = new MergerTestingPipe();
merger.getOutputPort().setPipe(testPipe);
}
@Test
public void testSameSignal() {
this.beforeSignalTesting();
merger.onSignal(new StartingSignal(), firstPort);
Assert.assertFalse(testPipe.startSent());
merger.onSignal(new StartingSignal(), secondPort);
Assert.assertTrue(testPipe.startSent());
}
@Test
public void testDifferentSignals() {
this.beforeSignalTesting();
merger.onSignal(new StartingSignal(), firstPort);
Assert.assertFalse(testPipe.startSent());
merger.onSignal(new TerminatingSignal(), secondPort);
Assert.assertFalse(testPipe.startSent());
}
@Test
public void testInterleavedSignals() {
this.beforeSignalTesting();
merger.onSignal(new StartingSignal(), firstPort);
Assert.assertFalse(testPipe.startSent());
Assert.assertFalse(testPipe.terminateSent());
merger.onSignal(new TerminatingSignal(), secondPort);
Assert.assertFalse(testPipe.startSent());
Assert.assertFalse(testPipe.terminateSent());
merger.onSignal(new TerminatingSignal(), firstPort);
Assert.assertFalse(testPipe.startSent());
Assert.assertTrue(testPipe.terminateSent());
merger.onSignal(new TerminatingSignal(), firstPort);
Assert.assertFalse(testPipe.startSent());
Assert.assertTrue(testPipe.terminateSent());
merger.onSignal(new StartingSignal(), firstPort);
Assert.assertTrue(testPipe.startSent());
Assert.assertTrue(testPipe.terminateSent());
}
}
package teetime.stage.basic.merger;
import teetime.framework.InputPort;
import teetime.framework.OutputPort;
import teetime.framework.pipe.IPipe;
import teetime.framework.signal.ISignal;
import teetime.framework.signal.StartingSignal;
import teetime.framework.signal.TerminatingSignal;
public class MergerTestingPipe implements IPipe {
private boolean startSent = false;
private boolean terminateSent = false;
public MergerTestingPipe() {}
@Override
public void sendSignal(final ISignal signal) {
if (signal.getClass().equals(StartingSignal.class)) {
this.startSent = true;
} else if (signal.getClass().equals(TerminatingSignal.class)) {
this.terminateSent = true;
}
}
public boolean startSent() {
return this.startSent;
}
public boolean terminateSent() {
return this.terminateSent;
}
@Override
public boolean add(final Object element) {
return false;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return false;
}
@Override
public int size() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object removeLast() {
// TODO Auto-generated method stub
return null;
}
@Override
public Object readLast() {
// TODO Auto-generated method stub
return null;
}
@Override
public InputPort<?> getTargetPort() {
// TODO Auto-generated method stub
return null;
}
@Override
public <T> void connectPorts(final OutputPort<? extends T> sourcePort, final InputPort<T> targetPort) {
// TODO Auto-generated method stub
}
@Override
public void reportNewElement() {
// TODO Auto-generated method stub
}
}
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