### Question:
Surfaces { public static SurfaceMetadata normalVolatilityByExpirySimpleMoneyness( String name, DayCount dayCount, MoneynessType moneynessType) { return normalVolatilityByExpirySimpleMoneyness(SurfaceName.of(name), dayCount, moneynessType); } private  Surfaces(); static SurfaceMetadata blackVolatilityByExpiryTenor(String name, DayCount dayCount); static SurfaceMetadata blackVolatilityByExpiryTenor(SurfaceName name, DayCount dayCount); static SurfaceMetadata blackVolatilityByExpiryStrike(String name, DayCount dayCount); static SurfaceMetadata blackVolatilityByExpiryStrike(SurfaceName name, DayCount dayCount); static SurfaceMetadata blackVolatilityByExpiryLogMoneyness(String name, DayCount dayCount); static SurfaceMetadata blackVolatilityByExpiryLogMoneyness(SurfaceName name, DayCount dayCount); static SurfaceMetadata normalVolatilityByExpiryTenor(String name, DayCount dayCount); static SurfaceMetadata normalVolatilityByExpiryTenor(SurfaceName name, DayCount dayCount); static SurfaceMetadata normalVolatilityByExpiryStrike(String name, DayCount dayCount); static SurfaceMetadata normalVolatilityByExpiryStrike(SurfaceName name, DayCount dayCount); static SurfaceMetadata normalVolatilityByExpirySimpleMoneyness(
      String name,
      DayCount dayCount,
      MoneynessType moneynessType); static SurfaceMetadata normalVolatilityByExpirySimpleMoneyness(
      SurfaceName name,
      DayCount dayCount,
      MoneynessType moneynessType); static SurfaceMetadata sabrParameterByExpiryTenor(
      String name,
      DayCount dayCount,
      ValueType zType); static SurfaceMetadata sabrParameterByExpiryTenor(
      SurfaceName name,
      DayCount dayCount,
      ValueType zType);  }### Answer:
@Test public void normalVolatilityByExpirySimpleMoneyness_string() { SurfaceMetadata test = Surfaces.normalVolatilityByExpirySimpleMoneyness(NAME, ACT_360, MoneynessType.PRICE); SurfaceMetadata expected = DefaultSurfaceMetadata.builder() .surfaceName(SURFACE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.SIMPLE_MONEYNESS) .zValueType(ValueType.NORMAL_VOLATILITY) .dayCount(ACT_360) .addInfo(SurfaceInfoType.MONEYNESS_TYPE, MoneynessType.PRICE) .build(); assertThat(test).isEqualTo(expected); }
@Test public void normalVolatilityByExpirySimpleMoneyness_surfaceName() { SurfaceMetadata test = Surfaces.normalVolatilityByExpirySimpleMoneyness(SURFACE_NAME, ACT_360, MoneynessType.PRICE); SurfaceMetadata expected = DefaultSurfaceMetadata.builder() .surfaceName(SURFACE_NAME) .xValueType(ValueType.YEAR_FRACTION) .yValueType(ValueType.SIMPLE_MONEYNESS) .zValueType(ValueType.NORMAL_VOLATILITY) .dayCount(ACT_360) .addInfo(SurfaceInfoType.MONEYNESS_TYPE, MoneynessType.PRICE) .build(); assertThat(test).isEqualTo(expected); }