Weaken random date formatter test assertion
`ESTestCase#testRandomDateFormatterPattern` previously asserted that round tripping `millis -> text -> millis` wouldn't lose any precision. But some date formats don't include the time of day so, of course, this could lose precision. This replaces that with an assertion that `text -> millis -> text` doesn't lose precision. Which should be true for any sane date format. Really, we're just trying to make sure that the random date formats that we return are *fairly* sane.
This commit is contained in:
parent
e2e3fb12bc
commit
5e723c5cc2
|
@ -204,6 +204,17 @@ public class ESTestCaseTests extends ESTestCase {
|
|||
|
||||
public void testRandomDateFormatterPattern() {
|
||||
DateFormatter formatter = DateFormatter.forPattern(randomDateFormatterPattern());
|
||||
assertThat(formatter.parseMillis(formatter.formatMillis(0)), equalTo(0L));
|
||||
/*
|
||||
* Make sure it doesn't crash trying to format some dates and
|
||||
* that round tripping through millis doesn't lose any information.
|
||||
* Interestingly, round tripping through a string *can* lose
|
||||
* information because not all date formats spit out milliseconds.
|
||||
* Hell, not all of them spit out the time of day at all!
|
||||
* But going from text back to millis back to text should
|
||||
* be fine!
|
||||
*/
|
||||
String formatted = formatter.formatMillis(randomLongBetween(0, 2_000_000_000_000L));
|
||||
String formattedAgain = formatter.formatMillis(formatter.parseMillis(formatted));
|
||||
assertThat(formattedAgain, equalTo(formatted));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue