package de.ks.idnadrev.information.chart.adoc;
import de.ks.LauncherRunner;
import de.ks.activity.ActivityCfg;
import de.ks.idnadrev.ActivityTest;
import de.ks.idnadrev.entity.information.ChartData;
import de.ks.idnadrev.entity.information.ChartInfo;
import de.ks.idnadrev.entity.information.ChartType;
import de.ks.idnadrev.information.chart.ChartInfoActivity;
import de.ks.idnadrev.information.chart.ChartInfoController;
import de.ks.persistence.PersistentWork;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Arrays;
import static org.junit.Assert.assertTrue;
@RunWith(LauncherRunner.class)
public class ChartFileRenderingTest extends ActivityTest {
private static final Logger log = LoggerFactory.getLogger(ChartFileRenderingTest.class);
private ChartInfoController controller;
private long chartId;
@Override
protected Class<? extends ActivityCfg> getActivityClass() {
return ChartInfoActivity.class;
}
@Override
protected void createTestData(EntityManager em) {
ChartData chartData = new ChartData();
chartData.setXAxisTitle("xtitle");
chartData.setYAxisTitle("ytitle");
chartData.getCategories().add("cat1");
chartData.getCategories().add("cat2");
chartData.getCategories().add("cat3");
chartData.addSeries("series1", Arrays.asList(1D, 3D, 5D));
chartData.addSeries("series2", Arrays.asList(4D, 2D, 7D));
chartData.addSeries("series3", Arrays.asList(8D, 5D, 1D));
ChartInfo chart = new ChartInfo("chart", ChartType.BAR);
chart.setChartData(chartData);
em.persist(chart);
chartId = PersistentWork.from(ChartInfo.class).get(0).getId();
}
@Inject
ChartFileRendering rendering;
@Test
public void testRenderToFile() throws Exception {
Path tempfile = Files.createTempFile("test", ".png");
tempfile.toFile().deleteOnExit();
rendering.renderToFile(chartId, tempfile);
assertTrue(tempfile.toFile().exists());
}
}