From 40e69ece27e1ab97fae0739a9366ce279d47e8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Blu=CC=88mke?= <lbl@informatik.uni-kiel.de> Date: Wed, 20 Apr 2016 10:35:39 +0200 Subject: [PATCH] Test case for ThreadsStatusDisplayFilter --- .../sink/ThreadsStatusDisplayFilterTest.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/test/java/kieker/analysis/plugin/filter/sink/ThreadsStatusDisplayFilterTest.java 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 00000000..7856321e --- /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)); + + } + +} -- GitLab