From 57cbab0799485c76959c4a9dd6b02a8e856e2963 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Blu=CC=88mke?= <lbl@informatik.uni-kiel.de>
Date: Wed, 13 Apr 2016 15:13:57 +0200
Subject: [PATCH] Test cases for GCDisplayFilter

---
 .../filter/sink/GCDisplayFilterTest.java      | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 src/test/java/kieker/analysis/plugin/filter/sink/GCDisplayFilterTest.java

diff --git a/src/test/java/kieker/analysis/plugin/filter/sink/GCDisplayFilterTest.java b/src/test/java/kieker/analysis/plugin/filter/sink/GCDisplayFilterTest.java
new file mode 100644
index 00000000..621a87bd
--- /dev/null
+++ b/src/test/java/kieker/analysis/plugin/filter/sink/GCDisplayFilterTest.java
@@ -0,0 +1,58 @@
+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.GCRecord;
+
+/**
+ * Test cases for GCDisplayFilter
+ *
+ * @author Lars Erik Bluemke
+ */
+public class GCDisplayFilterTest {
+
+	private GCRecord record;
+	private GCDisplayFilter gcDisplayFilter;
+
+	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 String gcName = "test_gc";
+	private final long collectionCount = 2;
+	private final long collectionTimeMS = 3;
+
+	@Before
+	public void initializeGCDisplayFilter() {
+		record = new GCRecord(timestamp, hostname, vmName, gcName, collectionCount, collectionTimeMS);
+		gcDisplayFilter = new GCDisplayFilter(numberOfEntries, recordsTimeUnit);
+	}
+
+	@Test
+	public void xyPlotEntriesShouldBeCorrect() {
+		test(gcDisplayFilter).and().send(record).to(gcDisplayFilter.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() + " - " + record.getGcName();
+
+		long actualCollectionCount = (long) gcDisplayFilter.getXYPlot().getEntries(id + " - " + "Collection Count").get(minutesAndSeconds);
+		long actualCollectionTime = (long) gcDisplayFilter.getXYPlot().getEntries(id + " - " + "Collection Time").get(minutesAndSeconds);
+
+		assertThat(actualCollectionCount, is(collectionCount));
+		assertThat(actualCollectionTime, is(collectionTimeMS));
+
+	}
+
+}
-- 
GitLab