### Question:
RateCalculationSwapLeg implements ScheduledSwapLeg, ImmutableBean, Serializable { public static RateCalculationSwapLeg.Builder builder() { return new RateCalculationSwapLeg.Builder(); } private  RateCalculationSwapLeg(
      PayReceive payReceive,
      PeriodicSchedule accrualSchedule,
      PaymentSchedule paymentSchedule,
      NotionalSchedule notionalSchedule,
      RateCalculation calculation); @Override @DerivedProperty SwapLegType getType(); @Override @DerivedProperty AdjustableDate getStartDate(); @Override @DerivedProperty AdjustableDate getEndDate(); @Override @DerivedProperty Currency getCurrency(); @Override void collectCurrencies(ImmutableSet.Builder<Currency> builder); @Override void collectIndices(ImmutableSet.Builder<Index> builder); @Override ResolvedSwapLeg resolve(ReferenceData refData); static RateCalculationSwapLeg.Meta meta(); static RateCalculationSwapLeg.Builder builder(); @Override RateCalculationSwapLeg.Meta metaBean(); @Override PayReceive getPayReceive(); @Override PeriodicSchedule getAccrualSchedule(); @Override PaymentSchedule getPaymentSchedule(); NotionalSchedule getNotionalSchedule(); RateCalculation getCalculation(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { RateCalculationSwapLeg test = RateCalculationSwapLeg.builder() .payReceive(PAY) .accrualSchedule(PeriodicSchedule.builder() .startDate(DATE_01_05) .endDate(DATE_04_05) .frequency(P1M) .businessDayAdjustment(BusinessDayAdjustment.of(FOLLOWING, GBLO)) .build()) .paymentSchedule(PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(PLUS_TWO_DAYS) .build()) .notionalSchedule(NotionalSchedule.of(GBP, 1000d)) .calculation(FixedRateCalculation.builder() .dayCount(ACT_365F) .rate(ValueSchedule.of(0.025d)) .build()) .build(); coverImmutableBean(test); RateCalculationSwapLeg test2 = RateCalculationSwapLeg.builder() .payReceive(RECEIVE) .accrualSchedule(PeriodicSchedule.builder() .startDate(DATE_02_05) .endDate(DATE_03_05) .frequency(P1M) .businessDayAdjustment(BusinessDayAdjustment.of(FOLLOWING, GBLO)) .build()) .paymentSchedule(PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(PLUS_THREE_DAYS) .build()) .notionalSchedule(NotionalSchedule.of(GBP, 2000d)) .calculation(FixedRateCalculation.builder() .dayCount(ACT_360) .rate(ValueSchedule.of(0.025d)) .build()) .build(); coverBeanEquals(test, test2); }
@Test public void test_serialization() { RateCalculationSwapLeg test = RateCalculationSwapLeg.builder() .payReceive(PAY) .accrualSchedule(PeriodicSchedule.builder() .startDate(DATE_01_05) .endDate(DATE_04_05) .frequency(P1M) .businessDayAdjustment(BusinessDayAdjustment.of(FOLLOWING, GBLO)) .build()) .paymentSchedule(PaymentSchedule.builder() .paymentFrequency(P1M) .paymentDateOffset(PLUS_TWO_DAYS) .build()) .notionalSchedule(NotionalSchedule.of(GBP, 1000d)) .calculation(FixedRateCalculation.builder() .dayCount(DayCounts.ACT_365F) .rate(ValueSchedule.of(0.025d)) .build()) .build(); assertSerialization(test); }