| | |
| | | assertEquals("-4.5%", ratio(service, "95.551398", "100", 2)); |
| | | assertEquals("-0.1%", ratio(service, "99.955", "100", 2)); |
| | | assertEquals("0%", ratio(service, "99.955", "100", 1)); |
| | | assertEquals("6.7%", ratio(service, "106.649", "100", 2)); |
| | | assertEquals("6.6%", ratio(service, "106.649", "100", 1)); |
| | | assertEquals("1.0%", ratio(service, "101", "100", 1)); |
| | | assertEquals("0%", ratio(service, "100", "100", 1)); |
| | | assertEquals("0%", ratio(service, "10004", "10000", 1)); |
| | |
| | | text); |
| | | } |
| | | |
| | | @Test |
| | | void cumulativeAmountsUseExcelYiDisplayBeforeWanRounding() throws Exception { |
| | | HolidayBulletinService service = new HolidayBulletinService(null); |
| | | |
| | | assertEquals("3961.77", cumulativeNumber(service, "3961.76472")); |
| | | assertEquals("4189.32", cumulativeNumber(service, "4189.31472")); |
| | | assertEquals("4486.63", cumulativeNumber(service, "4486.62652")); |
| | | } |
| | | |
| | | private String cumulativeNumber(HolidayBulletinService service, String value) throws Exception { |
| | | Method method = HolidayBulletinService.class.getDeclaredMethod("numberCumulative", BigDecimal.class); |
| | | method.setAccessible(true); |
| | | BigDecimal number = value == null ? null : new BigDecimal(value); |
| | | return (String) method.invoke(service, number); |
| | | } |
| | | |
| | | private Object comparableCumulative(HolidayBulletinService service, DailyMetrics current, |
| | | DailyMetrics comparisonYear, |
| | | Function<DailyMetrics, BigDecimal> selector) throws Exception { |