package net.relativt.chartjs4j;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import net.relativt.chartjs4j.color.Color;
import net.relativt.chartjs4j.color.Colors;
import net.relativt.chartjs4j.color.HexadecimalColor;
import net.relativt.chartjs4j.color.RgbaColor;
import org.junit.Before;
import org.junit.Test;
import org.skyscreamer.jsonassert.JSONAssert;
import java.nio.file.Files;
import java.nio.file.Paths;
import static org.junit.Assert.*;
public class LineChartDataTest {
private ObjectMapper objectMapper;
@Before
public void setUp() throws Exception {
objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
}
@Test
public void testName() throws Exception {
LineChartData lineChartData = new LineChartData();
lineChartData.getLabels().add("January");
lineChartData.getLabels().add("February");
lineChartData.getLabels().add("March");
lineChartData.getLabels().add("April");
lineChartData.getLabels().add("May");
lineChartData.getLabels().add("June");
lineChartData.getLabels().add("July");
// *** Dataset 1
Color fillColor = Colors.rgba(220, 220, 220, 0.5);
Color strokeColor = Colors.rgba(220,220,220,1);
Color pointColor = Colors.rgba(220,220,220,1);
Color pointStrokeColor = Colors.hex("fff");
LineChartDataSet e = new LineChartDataSet(fillColor, strokeColor, pointColor, pointStrokeColor);
e.getData().add(65);
e.getData().add(59);
e.getData().add(90);
e.getData().add(81);
e.getData().add(56);
e.getData().add(55);
e.getData().add(40);
lineChartData.getDataSets().add(e);
// *** Dataset 2
fillColor = Colors.rgba(151,187,205,0.5);
strokeColor = Colors.rgba(151,187,205,1);
pointColor = Colors.rgba(151,187,205,1);
pointStrokeColor = Colors.hex("fff");
e = new LineChartDataSet(fillColor, strokeColor, pointColor, pointStrokeColor);
e.getData().add(28);
e.getData().add(48);
e.getData().add(40);
e.getData().add(19);
e.getData().add(96);
e.getData().add(27);
e.getData().add(100);
lineChartData.getDataSets().add(e);
final String actualJson = objectMapper.writeValueAsString(lineChartData);
final String expectedJson = new String(Files.readAllBytes(Paths.get("src/test/resources/line_chart_data.json")));
JSONAssert.assertEquals(expectedJson, actualJson, false);
}
}