@Test
public void givenPrincipalOnlyGraceForFourInstallmentsShouldReturnPrincipalAndInterestDueForEachInstallmentRelativeToLoanAmount() {

    LoanInterestCalculationDetails loanInterestCalculationDetails = new LoanInterestCalculationDetailsBuilder().withLoanAmount("100.0")
                                                                                                                .withGraceType(GraceType.PRINCIPALONLYGRACE)
                                                                                                                .withGraceDurationOf(4)
                                                                                                                .withNumberOfInstallments(10)
                                                                                                                .withInterestFractionalRatePerInstallmentOf("0.16")
                                                                                                                .withInterestRate("10.0")
                                                                                                                .build();
    // exercise test
    List<InstallmentPrincipalAndInterest> equalInstallments = principalWithInterestGenerator.generateEqualInstallments(loanInterestCalculationDetails);
    // verification
    assertThat(TestMoneyUtil.moneyOf(equalInstallments.get(0).getPrincipal()), is(TestMoneyUtil.moneyOf("0.0")));
    assertThat(TestMoneyUtil.moneyOf(equalInstallments.get(0).getInterest()), is(TestMoneyUtil.moneyOf("16.0")));
}