From 712ca93f22cb2ca167796c4facae3bf53280a369 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20Blu=CC=88mke?= <lbl@informatik.uni-kiel.de>
Date: Tue, 19 Apr 2016 11:33:19 +0200
Subject: [PATCH] First test case for MemSwapUtilizationDisplayFilter

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

diff --git a/src/test/java/kieker/analysis/plugin/filter/sink/MemSwapUtilizationDisplayFilterTest.java b/src/test/java/kieker/analysis/plugin/filter/sink/MemSwapUtilizationDisplayFilterTest.java
new file mode 100644
index 00000000..e2ea59c3
--- /dev/null
+++ b/src/test/java/kieker/analysis/plugin/filter/sink/MemSwapUtilizationDisplayFilterTest.java
@@ -0,0 +1,69 @@
+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.system.MemSwapUsageRecord;
+
+/**
+ * Test cases for MemSwapUtilizationDisplayFilterTest
+ *
+ * @author Lars Erik Bluemke
+ */
+public class MemSwapUtilizationDisplayFilterTest {
+
+	private MemSwapUsageRecord record;
+	private MemSwapUtilizationDisplayFilter memSwapUtilFilter;
+
+	private final int numberOfEntries = 3;
+	private final TimeUnit recordsTimeUnit = TimeUnit.MILLISECONDS;
+
+	private final long timestamp = 1L;
+	private final String hostname = "test_host";
+	private final long memTotal = 2097152000L;
+	private final long memUsed = 1572864000L;
+	private final long memFree = 524288000L;
+	private final long swapTotal = 20971520L;
+	private final long swapUsed = 15728640L;
+	private final long swapFree = 5242880L;
+
+	@Before
+	public void initializeMemSwapUtilizationDisplayFilter() {
+		record = new MemSwapUsageRecord(timestamp, hostname, memTotal, memUsed, memFree, swapTotal, swapUsed, swapFree);
+		memSwapUtilFilter = new MemSwapUtilizationDisplayFilter(numberOfEntries, recordsTimeUnit);
+	}
+
+	@Test
+	public void xyPlotEntriesShouldBeCorrect() {
+		test(memSwapUtilFilter).and().send(record).to(memSwapUtilFilter.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();
+
+		long actualMemTotal = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.MEM_TOTAL).get(minutesAndSeconds);
+		long actualMemUsed = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.MEM_USED).get(minutesAndSeconds);
+		long actualMemFree = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.MEM_FREE).get(minutesAndSeconds);
+		long actualSwapTotal = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.SWAP_TOTAL).get(minutesAndSeconds);
+		long actualSwapUsed = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.SWAP_USED).get(minutesAndSeconds);
+		long actualSwapFree = (long) memSwapUtilFilter.getXYPlot().getEntries(id + " - " + MemSwapUtilizationDisplayFilter.SWAP_FREE).get(minutesAndSeconds);
+
+		// Converting back form MB to Byte
+		assertThat(actualMemTotal * 1048576, is(memTotal));
+		assertThat(actualMemUsed * 1048576, is(memUsed));
+		assertThat(actualMemFree * 1048576, is(memFree));
+		assertThat(actualSwapTotal * 1048576, is(swapTotal));
+		assertThat(actualSwapUsed * 1048576, is(swapUsed));
+		assertThat(actualSwapFree * 1048576, is(swapFree));
+
+	}
+
+}
-- 
GitLab