### Question:
SwaptionSensitivity implements PointSensitivity, PointSensitivityBuilder, ImmutableBean, Serializable { public static SwaptionSensitivity of( SwaptionVolatilitiesName volatilitiesName, double expiry, double tenor, double strike, double forward, Currency sensitivityCurrency, double sensitivity) { return new SwaptionSensitivity(volatilitiesName, expiry, tenor, strike, forward, sensitivityCurrency, sensitivity); } private  SwaptionSensitivity(
      SwaptionVolatilitiesName volatilitiesName,
      double expiry,
      double tenor,
      double strike,
      double forward,
      Currency currency,
      double sensitivity); static SwaptionSensitivity of(
      SwaptionVolatilitiesName volatilitiesName,
      double expiry,
      double tenor,
      double strike,
      double forward,
      Currency sensitivityCurrency,
      double sensitivity); @Override SwaptionSensitivity withCurrency(Currency currency); @Override SwaptionSensitivity withSensitivity(double value); @Override int compareKey(PointSensitivity other); @Override SwaptionSensitivity convertedTo(Currency resultCurrency, FxRateProvider rateProvider); @Override SwaptionSensitivity multipliedBy(double factor); @Override SwaptionSensitivity mapSensitivity(DoubleUnaryOperator operator); @Override SwaptionSensitivity normalize(); @Override MutablePointSensitivities buildInto(MutablePointSensitivities combination); @Override SwaptionSensitivity cloned(); static SwaptionSensitivity.Meta meta(); @Override SwaptionSensitivity.Meta metaBean(); SwaptionVolatilitiesName getVolatilitiesName(); double getExpiry(); double getTenor(); double getStrike(); double getForward(); @Override Currency getCurrency(); @Override double getSensitivity(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_combinedWith() { SwaptionSensitivity base1 = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d); SwaptionSensitivity base2 = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 22d); MutablePointSensitivities expected = new MutablePointSensitivities(); expected.add(base1).add(base2); PointSensitivityBuilder test = base1.combinedWith(base2); assertThat(test).isEqualTo(expected); }
@Test public void test_combinedWith_mutable() { SwaptionSensitivity base = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d); MutablePointSensitivities expected = new MutablePointSensitivities(); expected.add(base); PointSensitivityBuilder test = base.combinedWith(new MutablePointSensitivities()); assertThat(test).isEqualTo(expected); }
@Test public void test_build() { SwaptionSensitivity base = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d); PointSensitivities test = base.build(); assertThat(test.getSensitivities()).containsExactly(base); }
@Test public void coverage() { SwaptionSensitivity test = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d); coverImmutableBean(test); SwaptionSensitivity test2 = SwaptionSensitivity.of( NAME2, EXPIRY + 1, TENOR + 1, STRIKE + 1, FORWARD + 1, USD, 32d); coverBeanEquals(test, test2); ZeroRateSensitivity test3 = ZeroRateSensitivity.of(USD, 0.5d, 2d); coverBeanEquals(test, test3); }
@Test public void test_serialization() { SwaptionSensitivity test = SwaptionSensitivity.of(NAME, EXPIRY, TENOR, STRIKE, FORWARD, GBP, 32d); assertSerialization(test); }