| | |
| | | import javax.imageio.ImageIO; |
| | | import java.awt.image.BufferedImage; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.math.BigDecimal; |
| | | |
| | | import static org.junit.jupiter.api.Assertions.assertArrayEquals; |
| | | import static org.junit.jupiter.api.Assertions.assertEquals; |
| | | import static org.junit.jupiter.api.Assertions.assertFalse; |
| | | import static org.junit.jupiter.api.Assertions.assertNotNull; |
| | | import static org.junit.jupiter.api.Assertions.assertTrue; |
| | |
| | | } |
| | | |
| | | @Test |
| | | void roundsLineDataToTheSamePrecisionAsLabels() { |
| | | assertEquals(new BigDecimal("0.49"), |
| | | HolidayTrendChartService.displayValue(new BigDecimal("0.4904"), false, 2)); |
| | | assertEquals(new BigDecimal("0.49"), |
| | | HolidayTrendChartService.displayValue(new BigDecimal("0.4911"), false, 2)); |
| | | assertEquals(new BigDecimal("0.491"), |
| | | HolidayTrendChartService.displayValue(new BigDecimal("0.4911"), false, 3)); |
| | | assertEquals(new BigDecimal("0.123"), |
| | | HolidayTrendChartService.displayValue(new BigDecimal("0.1234"), true, 2)); |
| | | } |
| | | |
| | | @Test |
| | | void rendersSameGeometryWhenValuesRoundToSameLabel() { |
| | | HolidayTrendChartService service = new HolidayTrendChartService(); |
| | | HolidayTrendChartService.ChartSeries first = new HolidayTrendChartService.ChartSeries(); |
| | | first.setName("平均拥挤度"); |
| | | first.setValues(java.util.Arrays.asList( |
| | | new BigDecimal("0.4904"), new BigDecimal("0.4923"), new BigDecimal("0.5100"))); |
| | | HolidayTrendChartService.ChartSeries second = new HolidayTrendChartService.ChartSeries(); |
| | | second.setName("平均拥挤度"); |
| | | second.setValues(java.util.Arrays.asList( |
| | | new BigDecimal("0.4911"), new BigDecimal("0.4934"), new BigDecimal("0.5100"))); |
| | | |
| | | byte[] firstChart = service.lineChart("拥挤度", |
| | | java.util.Collections.singletonList(first), false, 2, 1100, 590); |
| | | byte[] secondChart = service.lineChart("拥挤度", |
| | | java.util.Collections.singletonList(second), false, 2, 1100, 590); |
| | | |
| | | assertPng(firstChart); |
| | | assertPng(secondChart); |
| | | assertArrayEquals(firstChart, secondChart); |
| | | } |
| | | |
| | | @Test |
| | | void rendersHigherPrecisionLineLabelsWhenRequested() { |
| | | HolidayTrendChartService service = new HolidayTrendChartService(); |
| | | HolidayTrendChartService.ChartSeries congestion = new HolidayTrendChartService.ChartSeries(); |