@Test
public void shouldCalculateLoanInterest() {

    // setup
    LoanInterestCalculationDetails loanInterestCalculationDetails = new LoanInterestCalculationDetailsBuilder().withLoanAmount("100.0")
                                                                                                               .withInterestRate("10.0")
                                                                                                               .withDurationInYears("1.0")
                                                                                                               .withGraceType(GraceType.NONE)
                                                                                                               .withGraceDurationOf(0)
                                                                                                               .withNumberOfInstallments(6)
                                                                                                               .withInterestFractionalRatePerInstallmentOf("0.16")
                                                                                                               .build();
    // exercise test
    Money calculatedInterest = decliningBalanceWithEqualPrincipalInstallmentsLoanInterestCalculator.calculate(loanInterestCalculationDetails);
    // verification
    assertThat(moneyOf(calculatedInterest), is(moneyOf(TestMoneyUtil.createMoney("56.0"))));
}