@Test public void testCalculateUnderrecoveryWithApplyFlag() { BreakUpInterval bi = createBreakupInterval(); RateAndCost ohRateItem = bi.getRateAndCosts().get(0); ohRateItem.setApplyRateFlag(false); KcServiceLocator.getService(BreakupIntervalService.class).calculate(bi); assertEquals(bi.getUnderRecovery(), new ScaleTwoDecimal(4050.00)); }
private void validateResults( RateAndCost rateAndCost, double calculatedCost, double calculatedCostSharing, double baseAmount, double baseCostSharing) { assertEquals(rateAndCost.getCalculatedCost(), new ScaleTwoDecimal(calculatedCost)); assertEquals( rateAndCost.getCalculatedCostSharing(), new ScaleTwoDecimal(calculatedCostSharing)); assertEquals(rateAndCost.getBaseAmount(), new ScaleTwoDecimal(baseAmount)); assertEquals(rateAndCost.getBaseCostSharingAmount(), new ScaleTwoDecimal(baseCostSharing)); }
private RateAndCost getRateCost( String rateClassCode, String rateTypeCode, String rateClassType, double rate) { RateAndCost rateCost = new RateAndCost(); rateCost.setApplyRateFlag(true); rateCost.setRateClassType(rateClassType); rateCost.setRateClassCode(rateClassCode); rateCost.setRateTypeCode(rateTypeCode); rateCost.setAppliedRate(new ScaleTwoDecimal(rate)); rateCost.setCalculatedCost(ScaleTwoDecimal.ZERO); rateCost.setCalculatedCostSharing(ScaleTwoDecimal.ZERO); return rateCost; }
@Test public void testCalculateWithApplyFlag() { BreakUpInterval bi = createBreakupInterval(); RateAndCost rc = bi.getRateAndCosts().get(1); rc.setApplyRateFlag(false); bi.getRateAndCosts().get(2).setApplyRateFlag(false); KcServiceLocator.getService(BreakupIntervalService.class).calculate(bi); List<RateAndCost> rateAndCosts = bi.getRateAndCosts(); RateAndCost rateAndCost1 = rateAndCosts.get(0); validateResults(rateAndCost1, 2500, 500, 5000, 1000); RateAndCost rateAndCost2 = rateAndCosts.get(1); validateResults(rateAndCost2, 0, 0, 0, 0); RateAndCost rateAndCost3 = rateAndCosts.get(2); validateResults(rateAndCost3, 0, 0, 0, 0); RateAndCost rateAndCost4 = rateAndCosts.get(3); validateResults(rateAndCost4, 250, 50, 5000, 1000); RateAndCost rateAndCost5 = rateAndCosts.get(6); validateResults(rateAndCost5, 7.50, 1.50, 250, 50); RateAndCost rateAndCost6 = rateAndCosts.get(7); validateResults(rateAndCost6, 5, 1, 250, 50); }