package org.mifos.accounts.productdefinition.business; import static junit.framework.Assert.assertFalse; import static org.junit.Assert.assertTrue; import junit.framework.Assert; import org.junit.Test; public class LoanOfferingBOTest { @Test public void shouldCaptureCapitalAndLiabilityInformation() { LoanOfferingBO loanOfferingBO = new LoanOfferingBO(); CashFlowDetail cashFlowDetail = new CashFlowDetail(); cashFlowDetail.setIndebtednessRatio(123d); loanOfferingBO.setCashFlowDetail(cashFlowDetail); Assert.assertTrue(loanOfferingBO.shouldCaptureCapitalAndLiabilityInformation()); cashFlowDetail.setIndebtednessRatio(0d); assertFalse(loanOfferingBO.shouldCaptureCapitalAndLiabilityInformation()); cashFlowDetail.setIndebtednessRatio(-3d); assertFalse(loanOfferingBO.shouldCaptureCapitalAndLiabilityInformation()); cashFlowDetail.setIndebtednessRatio(null); assertFalse(loanOfferingBO.shouldCaptureCapitalAndLiabilityInformation()); loanOfferingBO.setCashFlowDetail(null); assertFalse(loanOfferingBO.shouldCaptureCapitalAndLiabilityInformation()); } @Test public void shouldValidateCashFlowForInstallments() { LoanOfferingBO loanOfferingBO = new LoanOfferingBO(); loanOfferingBO.setCashFlowCheckEnabled(true); CashFlowDetail cashFlowDetail = new CashFlowDetail(); cashFlowDetail.setCashFlowThreshold(100d); loanOfferingBO.setCashFlowDetail(cashFlowDetail); assertTrue(loanOfferingBO.shouldValidateCashFlowForInstallments()); cashFlowDetail.setCashFlowThreshold(0d); assertFalse(loanOfferingBO.shouldValidateCashFlowForInstallments()); cashFlowDetail.setCashFlowThreshold(null); assertFalse(loanOfferingBO.shouldValidateCashFlowForInstallments()); loanOfferingBO.setCashFlowDetail(null); assertFalse(loanOfferingBO.shouldValidateCashFlowForInstallments()); loanOfferingBO.setCashFlowCheckEnabled(false); assertFalse(loanOfferingBO.shouldValidateCashFlowForInstallments()); } }