### Question:
NormalSwaptionExpirySimpleMoneynessVolatilities implements NormalSwaptionVolatilities, ImmutableBean, Serializable { @Override public ZonedDateTime getValuationDateTime() { return valuationDateTime; } @ImmutableConstructor private  NormalSwaptionExpirySimpleMoneynessVolatilities(
      FixedIborSwapConvention convention,
      ZonedDateTime valuationDateTime,
      Surface surface); static NormalSwaptionExpirySimpleMoneynessVolatilities of(
      FixedIborSwapConvention convention,
      ZonedDateTime valuationDateTime,
      Surface surface); @Override SwaptionVolatilitiesName getName(); @Override Optional<T> findData(MarketDataName<T> name); @Override int getParameterCount(); @Override double getParameter(int parameterIndex); @Override ParameterMetadata getParameterMetadata(int parameterIndex); @Override OptionalInt findParameterIndex(ParameterMetadata metadata); @Override NormalSwaptionExpirySimpleMoneynessVolatilities withParameter(int parameterIndex, double newValue); @Override NormalSwaptionExpirySimpleMoneynessVolatilities withPerturbation(ParameterPerturbation perturbation); @Override double volatility(double expiry, double tenor, double strike, double forwardRate); @Override CurrencyParameterSensitivities parameterSensitivity(PointSensitivities pointSensitivities); @Override double price(double expiry, double tenor, PutCall putCall, double strike, double forward, double volatility); @Override double priceDelta(double expiry, double tenor, PutCall putCall, double strike, double forward, double volatility); @Override double priceGamma(double expiry, double tenor, PutCall putCall, double strike, double forward, double volatility); @Override double priceTheta(double expiry, double tenor, PutCall putCall, double strike, double forward, double volatility); @Override double priceVega(double expiry, double tenor, PutCall putCall, double strike, double forward, double volatility); @Override double relativeTime(ZonedDateTime dateTime); @Override double tenor(LocalDate startDate, LocalDate endDate); static NormalSwaptionExpirySimpleMoneynessVolatilities.Meta meta(); @Override NormalSwaptionExpirySimpleMoneynessVolatilities.Meta metaBean(); @Override FixedIborSwapConvention getConvention(); @Override ZonedDateTime getValuationDateTime(); Surface getSurface(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_valuationDate() { assertThat(VOLS.getValuationDateTime()).isEqualTo(VAL_DATE_TIME); }