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