package eu.choreos.vv.analysis; import static org.junit.Assert.assertEquals; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Test; import eu.choreos.vv.TestUtils; import eu.choreos.vv.data.ExperimentReport; import eu.choreos.vv.data.ReportData; public class SaveToFileTest { private static final String NAME = "test report"; private File file; private List<ExperimentReport> reports; @Before public void setup() throws Exception { file = new File("/tmp/test.sex"); reports = new ArrayList<ExperimentReport>(); ExperimentReport report = new ExperimentReport(); report.setName(NAME); ReportData data = new ReportData(); data.setMeasurements("responseTime", TestUtils.listFor(1, 2, 3, 4)); report.put(0, data); data = new ReportData(); data.setMeasurements("responseTime", TestUtils.listFor(2, 4, 6, 8)); report.put(1, data); reports.add(report); } @Test public void shouldSaveOneReportToAFile() throws Exception { Analyzer saver = new SaveToFile(file); saver.analyse(reports); InputStream is = new FileInputStream(file); ObjectInputStream ois = new ObjectInputStream(is); List<ExperimentReport> read = (List<ExperimentReport>)ois.readObject(); assertEquals(read.size(), 1); ExperimentReport report = read.get(0); assertEquals(report.getName(), NAME); assertEquals(report.size(), 2); assertEquals(report.get(0).getMeasurements("responseTime"), TestUtils.listFor(1, 2, 3, 4)); assertEquals(report.get(1).getMeasurements("responseTime"), TestUtils.listFor(2, 4, 6, 8)); ois.close(); } }