@Test public void testCalculateMorning() { Calendar cal = Calendar.getInstance(); cal.set(2016, 4, 1); int startDoy = cal.get(Calendar.DAY_OF_YEAR); cal.set(2016, 4, 31); int endDoy = cal.get(Calendar.DAY_OF_YEAR); Avail avail = new Avail(); for (int i = startDoy; i <= endDoy; i++) { avail.setAvailOn(i, AvailType.MORNING); } AvailCalculator calc = new AvailCalculator(avail, gamedays); TotalAvailDto totalAvails = calc.calculateTotalAvails(startDoy, endDoy); Assert.assertEquals(425.0, totalAvails.getTotal(), 0.01); Assert.assertEquals(8.5, totalAvails.getDays(), 0.01); }
@Test public void testCalculateMH() { Calendar cal = Calendar.getInstance(); cal.set(2016, 4, 1); int startDoy = cal.get(Calendar.DAY_OF_YEAR); cal.set(2016, 4, 31); int endDoy = cal.get(Calendar.DAY_OF_YEAR); Avail avail = new Avail(); avail.setAvailOn(startDoy, AvailType.NO); avail.setAvailOn(startDoy + 3, AvailType.EVENING); avail.setAvailOn(startDoy + 4, AvailType.YES); avail.setAvailOn(startDoy + 6, AvailType.EFAF); avail.setAvailOn(startDoy + 7, AvailType.NO); avail.setAvailOn(startDoy + 13, AvailType.NO); avail.setAvailOn(startDoy + 14, AvailType.GFL); avail.setAvailOn(startDoy + 15, AvailType.EMERGENCY_ONLY); avail.setAvailOn(startDoy + 20, AvailType.YES); avail.setAvailOn(startDoy + 21, AvailType.YES); avail.setAvailOn(startDoy + 25, AvailType.EMERGENCY_ONLY); avail.setAvailOn(startDoy + 27, AvailType.NO); avail.setAvailOn(startDoy + 28, AvailType.NO); AvailCalculator calc = new AvailCalculator(avail, gamedays); TotalAvailDto totalAvails = calc.calculateTotalAvails(startDoy, endDoy); Assert.assertEquals(450.0, totalAvails.getTotal(), 0.01); Assert.assertEquals(8.5, totalAvails.getDays(), 0.01); Assert.assertEquals(53.0, Math.ceil(totalAvails.getTotal() / totalAvails.getDays()), 0.01); Assert.assertEquals(53, totalAvails.getPercent()); }