svoid test_parseEnglishDateRange() { Pair> p = test_parseEnglishDateRange_examples(); DateInterpretationConfig config = new(ukTimeZone(), parseYMDHMS(p.a), true); testFunctionValues(s -> { LongRange range = parseEnglishDateRange((S) s, config); ret pair(formatDateWithSeconds(range.start, config.timeZone), formatDateWithSeconds(range.end, config.timeZone)); }, mapToParams(p.b)); } // returns (base date, examples) static Pair> test_parseEnglishDateRange_examples() { delegate Day to DateStructures. delegate Month to DateStructures. delegate Year to DateStructures. delegate CurrentWeekPlus to DateStructures. delegate Weekday to DateStructures. delegate TodayPlus to DateStructures. delegate Hour to DateStructures. delegate Minute to DateStructures. delegate Second to DateStructures. delegate Between to DateStructures. ret pair("2020/06/28 13:00:00", litorderedmap( "tuesday between 3 and 4 pm", pair("2020/06/30 15:00:00", "2020/06/30 16:00:00"), )); }