// Copyright © 2015 HSL <https://www.hsl.fi> // This program is dual-licensed under the EUPL v1.2 and AGPLv3 licenses. package fi.hsl.parkandride.itest; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.TimeZone; import org.hamcrest.Description; import org.hamcrest.TypeSafeMatcher; public class ISO8601UTCTimestampMatcher extends TypeSafeMatcher<String> { public static String PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; public static SimpleDateFormat FORMAT = new SimpleDateFormat(PATTERN); static { FORMAT.setTimeZone(TimeZone.getTimeZone("UTC")); } @Override protected boolean matchesSafely(String item) { try { FORMAT.parse(item); return true; } catch (ParseException e) { e.printStackTrace(); return false; } } @Override public void describeTo(Description description) { description.appendText("timestamp formatted as ").appendValue(PATTERN); } }