### Question:
DateValue extends TemporalValue<LocalDate,DateValue> { public static DateValue parse( CharSequence text ) { return parse( DateValue.class, PATTERN, DateValue::parse, text ); } private  DateValue( LocalDate value ); static DateValue date( LocalDate value ); static DateValue date( int year, int month, int day ); static DateValue weekDate( int year, int week, int dayOfWeek ); static DateValue quarterDate( int year, int quarter, int dayOfQuarter ); static DateValue ordinalDate( int year, int dayOfYear ); static DateValue epochDate( long epochDay ); static LocalDate epochDateRaw( long epochDay ); static DateValue parse( CharSequence text ); static DateValue parse( TextValue text ); static DateValue now( Clock clock ); static DateValue now( Clock clock, String timezone ); static DateValue now( Clock clock, Supplier<ZoneId> defaultZone ); static DateValue build( MapValue map, Supplier<ZoneId> defaultZone ); static DateValue select( org.neo4j.values.AnyValue from, Supplier<ZoneId> defaultZone ); static DateValue truncate(
            TemporalUnit unit,
            TemporalValue input,
            MapValue fields,
            Supplier<ZoneId> defaultZone ); @Override String getTypeName(); @Override boolean supportsTimeZone(); @Override boolean equals( Value other ); @Override void writeTo( ValueWriter<E> writer ); @Override String prettyPrint(); @Override ValueGroup valueGroup(); @Override T map( ValueMapper<T> mapper ); @Override DateValue add( DurationValue duration ); @Override DateValue sub( DurationValue duration ); static final DateValue MIN_VALUE; static final DateValue MAX_VALUE; }### Answer:
@Test void shouldNotParseInvalidDates() { assertCannotParse( "2015W54" ); assertThrows( InvalidValuesArgumentException.class, () -> parse( "2017W53" ) ); }