### Question:
CurveId implements NamedMarketDataId<Curve>, ImmutableBean, Serializable { public static CurveId of(String groupName, String curveName) { return new CurveId(CurveGroupName.of(groupName), CurveName.of(curveName), ObservableSource.NONE); } private  CurveId(
      CurveGroupName curveGroupName,
      CurveName curveName,
      ObservableSource observableSource); static CurveId of(String groupName, String curveName); static CurveId of(CurveGroupName groupName, CurveName curveName); static CurveId of(CurveGroupName groupName, CurveName curveName, ObservableSource obsSource); @Override Class<Curve> getMarketDataType(); @Override MarketDataName<Curve> getMarketDataName(); @Override String toString(); static TypedMetaBean<CurveId> meta(); @Override TypedMetaBean<CurveId> metaBean(); CurveGroupName getCurveGroupName(); CurveName getCurveName(); ObservableSource getObservableSource(); @Override boolean equals(Object obj); @Override int hashCode();  }### Answer:
@Test public void coverage() { CurveId test = CurveId.of("Group", "Name"); coverImmutableBean(test); CurveId test2 = CurveId.of("Group2", "Name2"); coverBeanEquals(test, test2); }
@Test public void test_serialization() { CurveId test = CurveId.of("Group", "Name"); assertSerialization(test); }