diff --git a/src/test/java/kieker/analysis/plugin/filter/sink/ThreadsStatusDisplayFilterTest.java b/src/test/java/kieker/analysis/plugin/filter/sink/ThreadsStatusDisplayFilterTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..7856321ede8f5915acc5a9114afb3c855be2db8a
--- /dev/null
+++ b/src/test/java/kieker/analysis/plugin/filter/sink/ThreadsStatusDisplayFilterTest.java
@@ -0,0 +1,59 @@
+package kieker.analysis.plugin.filter.sink;
+
+import static org.hamcrest.core.Is.is;
+import static org.junit.Assert.assertThat;
+import static teetime.framework.test.StageTester.test;
+
+import java.util.Date;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import kieker.common.record.jvm.ThreadsStatusRecord;
+
+public class ThreadsStatusDisplayFilterTest {
+	private ThreadsStatusRecord record;
+	private ThreadsStatusDisplayFilter threadsStatusFilter;
+
+	private final int numberOfEntries = 3;
+	private final TimeUnit recordsTimeUnit = TimeUnit.MILLISECONDS;
+
+	private final long timestamp = 1L;
+	private final String hostname = "test_host";
+	private final String vmName = "test_vm";
+	private final long threadCount = 2;
+	private final long daemonThreadCount = 1;
+	private final long peakThreadCount = 4;
+	private final long totalStartedThreadCount = 3;
+
+	@Before
+	public void initializeThreadStatusDisplayFilter() {
+		record = new ThreadsStatusRecord(timestamp, hostname, vmName, threadCount, daemonThreadCount, peakThreadCount, totalStartedThreadCount);
+		threadsStatusFilter = new ThreadsStatusDisplayFilter(numberOfEntries, recordsTimeUnit);
+	}
+
+	@Test
+	public void xyPlotEntriesShouldBeCorrect() {
+		test(threadsStatusFilter).and().send(record).to(threadsStatusFilter.getInputPort()).start();
+
+		final Date date = new Date(TimeUnit.MILLISECONDS.convert(record.getLoggingTimestamp(), recordsTimeUnit));
+		final String minutesAndSeconds = date.toString().substring(14, 19);
+
+		final String id = record.getHostname() + " - " + record.getVmName();
+
+		long actualThreadCount = (long) threadsStatusFilter.getXYPlot().getEntries(id + " - " + ThreadsStatusDisplayFilter.THREADS).get(minutesAndSeconds);
+		long actualTotalStartedThreadCount = (long) threadsStatusFilter.getXYPlot().getEntries(id + " - " + ThreadsStatusDisplayFilter.TOTAL_THREADS)
+				.get(minutesAndSeconds);
+		long actualPeakThreadCount = (long) threadsStatusFilter.getXYPlot().getEntries(id + " - " + ThreadsStatusDisplayFilter.PEAK_THREADS).get(minutesAndSeconds);
+		long actualDaemonThreadCount = (long) threadsStatusFilter.getXYPlot().getEntries(id + " - " + ThreadsStatusDisplayFilter.DAEMON_THREADS)
+				.get(minutesAndSeconds);
+
+		assertThat(actualThreadCount, is(threadCount));
+		assertThat(actualTotalStartedThreadCount, is(totalStartedThreadCount));
+		assertThat(actualPeakThreadCount, is(peakThreadCount));
+		assertThat(actualDaemonThreadCount, is(daemonThreadCount));
+
+	}
+
+}