ActualActualICMA extends ActualTypeDayCount { @Override public double getAccruedInterest(final LocalDate previousCouponDate, final LocalDate date, final LocalDate nextCouponDate, final double coupon, final double paymentsPerYear) { return getAccruedInterest(previousCouponDate, date, nextCouponDate, coupon, paymentsPerYear, StubType.NONE); }  @Override double getDayCountFraction(final LocalDate firstDate, final LocalDate secondDate); @Override double getAccruedInterest(final LocalDate previousCouponDate, final LocalDate date, final LocalDate nextCouponDate, final double coupon, final double paymentsPerYear); double getAccruedInterest(final ZonedDateTime previousCouponDate, final ZonedDateTime date, final ZonedDateTime nextCouponDate, final double coupon, final double paymentsPerYear,
      final StubType stubType); double getAccruedInterest(final LocalDate previousCouponDate, final LocalDate date, final LocalDate nextCouponDate, final double coupon, final double paymentsPerYear,
      final StubType stubType); @Override String getName();  }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullFirstDate1() { DC1.getAccruedInterest(null, D2, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullSecondDate1() { DC1.getAccruedInterest(D1, null, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullThirdDate1() { DC1.getAccruedInterest(D1, D2, null, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testWrongOrder1() { DC1.getAccruedInterest(D2, D1, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testWrongOrder2() { DC1.getAccruedInterest(D1, D3, D2, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullStubType1() { DC1.getAccruedInterest(D1, D2, D3, COUPON, PAYMENTS, null); }
@Test public void testNoAccruedInterest() { assertEquals(DC1.getAccruedInterest(D1, D1, D3, COUPON, PAYMENTS), 0, 0); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullFirstDate2() { DC2.getAccruedInterest(null, D2, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullSecondDate2() { DC2.getAccruedInterest(D1, null, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullThirdDate2() { DC2.getAccruedInterest(D1, D2, null, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testWrongOrder3() { DC2.getAccruedInterest(D2, D1, D3, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testWrongOrder4() { DC2.getAccruedInterest(D1, D3, D2, COUPON, PAYMENTS); }
@Test(expectedExceptions = IllegalArgumentException.class) public void testNullStubType2() { DC2.getAccruedInterest(D1, D2, D3, COUPON, PAYMENTS, null); }
@Test public void testNoAccruedInterest2() { assertEquals(DC2.getAccruedInterest(D1, D1, D3, COUPON, PAYMENTS), 0, 0); }