diff --git a/src/test/java/teetime/examples/pipe/SignalQueueConfiguration.java b/src/test/java/teetime/examples/pipe/SignalQueueConfiguration.java
deleted file mode 100644
index b86c70230b1a40280c9509631f6d2abab34865c5..0000000000000000000000000000000000000000
--- a/src/test/java/teetime/examples/pipe/SignalQueueConfiguration.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package teetime.examples.pipe;
-
-import teetime.framework.AnalysisConfiguration;
-import teetime.framework.ConsumerStage;
-import teetime.framework.ProducerStage;
-import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
-import teetime.framework.pipe.PipeFactoryRegistry.ThreadCommunication;
-import teetime.framework.pipe.SpScPipe;
-import teetime.stage.Cache;
-import teetime.stage.Clock;
-
-public class SignalQueueConfiguration extends AnalysisConfiguration {
-
-	public SpScPipe pipe;
-
-	public SignalQueueConfiguration() {
-
-		ProducerStage<Long> first = new Clock();
-		ConsumerStage<Long> second = new Cache<Long>();
-
-		pipe = (SpScPipe) PIPE_FACTORY_REGISTRY.getPipeFactory(ThreadCommunication.INTER, PipeOrdering.QUEUE_BASED, false)
-				.create(first.getOutputPort(), second.getInputPort());
-	}
-}
diff --git a/src/test/java/teetime/examples/pipe/SignalQueueTest.java b/src/test/java/teetime/examples/pipe/SignalQueueTest.java
deleted file mode 100644
index 9e42dabc6bd78ba339cbe0de2cad9b4aaad36f2b..0000000000000000000000000000000000000000
--- a/src/test/java/teetime/examples/pipe/SignalQueueTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package teetime.examples.pipe;
-
-import java.util.ArrayList;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import teetime.framework.pipe.SpScPipe;
-import teetime.framework.signal.ISignal;
-import teetime.framework.signal.StartingSignal;
-import teetime.framework.signal.TerminatingSignal;
-import teetime.framework.signal.ValidatingSignal;
-
-public class SignalQueueTest {
-
-	@Test
-	public void executeTest() {
-		ArrayList<ISignal> list = new ArrayList<ISignal>();
-		list.add(new StartingSignal());
-		list.add(new TerminatingSignal());
-		list.add(new ValidatingSignal());
-		list.add(new StartingSignal());
-		list.add(new TerminatingSignal());
-		list.add(new ValidatingSignal());
-		list.add(new StartingSignal());
-		list.add(new TerminatingSignal());
-		list.add(new ValidatingSignal());
-
-		SpScPipe pipe = new SignalQueueConfiguration().pipe;
-		for (ISignal s : list) {
-			pipe.sendSignal(s);
-		}
-
-		ArrayList<ISignal> secondList = new ArrayList<ISignal>();
-		while (true) {
-			ISignal temp = pipe.getSignal();
-			if (temp == null) {
-				break;
-			}
-			secondList.add(temp);
-		}
-		Assert.assertEquals(list, secondList);
-	}
-}
diff --git a/src/test/java/teetime/framework/pipe/SpScPipeTest.java b/src/test/java/teetime/framework/pipe/SpScPipeTest.java
index ce0fc9f0007111d336894c5e05884bf02f7a8900..1a937afc2b63f77a2cb4fc36398d69e774566b97 100644
--- a/src/test/java/teetime/framework/pipe/SpScPipeTest.java
+++ b/src/test/java/teetime/framework/pipe/SpScPipeTest.java
@@ -1,9 +1,17 @@
 package teetime.framework.pipe;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.junit.Assert;
 import org.junit.Test;
 
 import teetime.framework.InputPort;
 import teetime.framework.OutputPort;
+import teetime.framework.signal.ISignal;
+import teetime.framework.signal.StartingSignal;
+import teetime.framework.signal.TerminatingSignal;
+import teetime.framework.signal.ValidatingSignal;
 
 public class SpScPipeTest {
 
@@ -11,11 +19,31 @@ public class SpScPipeTest {
 	public void testSignalOrdering() throws Exception {
 		OutputPort<? extends Object> sourcePort = null;
 		InputPort<Object> targetPort = null;
-		IPipe pipe = new SpScPipe(sourcePort, targetPort, 1);
+		InterThreadPipe pipe = new SpScPipe(sourcePort, targetPort, 1); // IPipe does not provide getSignal method
+
+		List<ISignal> list = new ArrayList<ISignal>();
+		list.add(new StartingSignal());
+		list.add(new TerminatingSignal());
+		list.add(new ValidatingSignal());
+		list.add(new StartingSignal());
+		list.add(new TerminatingSignal());
+		list.add(new ValidatingSignal());
+		list.add(new StartingSignal());
+		list.add(new TerminatingSignal());
+		list.add(new ValidatingSignal());
 
-		// TODO implement test
-		// pipe.sendSignal(signal);
+		for (ISignal s : list) {
+			pipe.sendSignal(s);
+		}
 
-		// pipe.getSignal();
+		List<ISignal> secondList = new ArrayList<ISignal>();
+		while (true) {
+			ISignal temp = pipe.getSignal();
+			if (temp == null) {
+				break;
+			}
+			secondList.add(temp);
+		}
+		Assert.assertEquals(list, secondList);
 	}
 }