### Question:
RatesCurveInputsId implements MarketDataId<RatesCurveInputs>, ImmutableBean, Serializable { public static RatesCurveInputsId of(CurveGroupName groupName, CurveName curveName, ObservableSource obsSource) { return new RatesCurveInputsId(groupName, curveName, obsSource); } private  RatesCurveInputsId(
      CurveGroupName curveGroupName,
      CurveName curveName,
      ObservableSource observableSource); static RatesCurveInputsId of(CurveGroupName groupName, CurveName curveName, ObservableSource obsSource); @Override Class<RatesCurveInputs> getMarketDataType(); @Override String toString(); static TypedMetaBean<RatesCurveInputsId> meta(); @Override TypedMetaBean<RatesCurveInputsId> metaBean(); CurveGroupName getCurveGroupName(); CurveName getCurveName(); ObservableSource getObservableSource(); @Override boolean equals(Object obj); @Override int hashCode();  }### Answer:
@Test public void coverage() { RatesCurveInputsId test = RatesCurveInputsId.of(GROUP1, NAME1, ObservableSource.NONE); coverImmutableBean(test); RatesCurveInputsId test2 = RatesCurveInputsId.of(GROUP2, NAME2, SOURCE2); coverBeanEquals(test, test2); }
@Test public void test_serialization() { RatesCurveInputsId test = RatesCurveInputsId.of(GROUP1, NAME1, ObservableSource.NONE); assertSerialization(test); }