@Test
 public void testGetPeriodicPaymentCompoundSemiPaymentQuarterly() {
   AmortizationAttributes amAttrs = generateAmortizationAttributesObjectTemplate();
   amAttrs.setLoanAmount(USD50000.divide(5));
   amAttrs.setInterestRateAsPercent(10.);
   amAttrs.setCompoundingPeriodsPerYear(TimePeriod.SemiAnnually.getPeriodsPerYear());
   amAttrs.setAmortizationPeriodInMonths(12);
   amAttrs.setPaymentFrequency(TimePeriod.Quarterly.getPeriodsPerYear());
   MonetaryAmount result = AmortizationCalculator.getPeriodicPayment(amAttrs);
   MonetaryAmount expectedResult = ofUSD(2656.23);
   assertEquals("Amortized, compounded semi-annual, payment semimonthly", expectedResult, result);
 }
 @Test
 public void testPaymentDateQuarterly() {
   testPaymentDatesWithMonthlyIntervals(TimePeriod.Quarterly.getPeriodsPerYear());
 }