public void test_toLeg_withSpread() {
   OvernightRateSwapLegConvention base =
       OvernightRateSwapLegConvention.builder().index(GBP_SONIA).accrualMethod(AVERAGED).build();
   LocalDate startDate = LocalDate.of(2015, 5, 5);
   LocalDate endDate = LocalDate.of(2020, 5, 5);
   RateCalculationSwapLeg test = base.toLeg(startDate, endDate, PAY, NOTIONAL_2M, 0.25d);
   RateCalculationSwapLeg expected =
       RateCalculationSwapLeg.builder()
           .payReceive(PAY)
           .accrualSchedule(
               PeriodicSchedule.builder()
                   .frequency(TERM)
                   .startDate(startDate)
                   .endDate(endDate)
                   .businessDayAdjustment(BDA_MOD_FOLLOW)
                   .build())
           .paymentSchedule(
               PaymentSchedule.builder()
                   .paymentFrequency(TERM)
                   .paymentDateOffset(DaysAdjustment.NONE)
                   .build())
           .notionalSchedule(NotionalSchedule.of(GBP, NOTIONAL_2M))
           .calculation(
               OvernightRateCalculation.builder()
                   .index(GBP_SONIA)
                   .accrualMethod(AVERAGED)
                   .spread(ValueSchedule.of(0.25d))
                   .build())
           .build();
   assertEquals(test, expected);
 }