package eu.choreos.vv.data; import static org.junit.Assert.fail; import static org.junit.Assert.assertEquals; import java.util.Calendar; import org.junit.Before; import org.junit.Test; import eu.choreos.vv.TestUtils; public class ReportDataTest { ReportData report1 = new ReportData(); ReportData report2 = new ReportData(); Calendar calendar = Calendar.getInstance(); @Before public void setup() { calendar.set(2016, 01, 01, 9, 30); report1.setStartTime(calendar.getTime()); calendar.roll(Calendar.MINUTE, true); report2.setStartTime(calendar.getTime()); calendar.add(Calendar.MINUTE, 10); report1.setEndTime(calendar.getTime()); calendar.roll(Calendar.MINUTE, false); report2.setEndTime(calendar.getTime()); report1.setMeasurements("responseTime", TestUtils.listFor(1, 2, 3)); report2.setMeasurements("responseTime", TestUtils.listFor(1, 2, 2)); } @Test public void testAddMeasurements() { report1.addMeasurements("responseTime", TestUtils.listFor(4, 5, 6)); assertEquals(TestUtils.listFor(1, 2, 3, 4, 5, 6), report1.getMeasurements("responseTime")); } @Test public void testAddMeasurementsWithRepetition() { report1.addMeasurements("responseTime", TestUtils.listFor(3, 5, 6)); assertEquals(TestUtils.listFor(1, 2, 3, 3, 5, 6), report1.getMeasurements("responseTime")); } @Test public void testAddMeasurementsInexistents() { report1.addMeasurements("throughput", TestUtils.listFor(4, 5, 6)); assertEquals(TestUtils.listFor(4, 5, 6), report1.getMeasurements("throughput")); assertEquals(TestUtils.listFor(1, 2, 3), report1.getMeasurements("responseTime")); } @Test public void testMerge() { ReportData report = report2.merge(report1); assertEquals(report.getStartTime(), report1.getStartTime()); assertEquals(report.getEndTime(), report1.getEndTime()); assertEquals(TestUtils.listFor(1, 2, 2, 1, 2, 3), report.getMeasurements("responseTime")); assertEquals(TestUtils.listFor(1, 2, 2), report2.getMeasurements("responseTime")); assertEquals(TestUtils.listFor(1, 2, 3), report1.getMeasurements("responseTime")); } }