Skip to content

Commit

Permalink
moved around tests
Browse files Browse the repository at this point in the history
  • Loading branch information
john-wagster committed Dec 17, 2024
1 parent 210614a commit 8abefd1
Show file tree
Hide file tree
Showing 2 changed files with 291 additions and 263 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
import java.time.temporal.TemporalAccessor;
import java.util.List;
import java.util.Locale;
import java.util.function.LongSupplier;

import static org.elasticsearch.test.LambdaMatchers.transformedItemsMatch;
import static org.hamcrest.Matchers.containsString;
Expand Down Expand Up @@ -287,268 +286,6 @@ public void testEpochMillisParser() {
assertThat(Instant.from(formatter.parse(formatter.format(instant))), is(instant));
}

// validate that negative epoch millis around rounded appropriately by the parser
LongSupplier supplier = () -> 0L;
{
Instant instant = formatter.toDateMathParser().parse("0", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("0", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("1", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.001999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-1", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("1", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.001Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-1", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("0.999999", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.999999", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999000001Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("0.999999", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.999999", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999000001Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("6250000430768", supplier, true, ZoneId.of("UTC"));
assertEquals("2168-01-20T23:13:50.768999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-6250000430768", supplier, true, ZoneId.of("UTC"));
assertEquals("1771-12-12T00:46:09.232999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("6250000430768", supplier, false, ZoneId.of("UTC"));
assertEquals("2168-01-20T23:13:50.768Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-6250000430768", supplier, false, ZoneId.of("UTC"));
assertEquals("1771-12-12T00:46:09.232Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("0.123450", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000123450Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.123450", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999876550Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("0.123450", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000123450Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.123450", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999876550Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("0.123456", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000123456Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.123456", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999876544Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("0.123456", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000123456Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.123456", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999876544Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("86400000", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-02T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-86400000", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("86400000", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-02T00:00:00Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-86400000", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T00:00:00Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("86400000.999999", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-02T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-86400000.999999", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-30T23:59:59.999000001Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("86400000.999999", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-02T00:00:00.000999999Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-86400000.999999", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-30T23:59:59.999000001Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("200.89", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.200890Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-200.89", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.799110Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("200.89", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.200890Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-200.89", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.799110Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("200.", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.200Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-200.", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.800Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("200.", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.200Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-200.", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.800Z", instant.toString());
}

{
Instant instant = formatter.toDateMathParser().parse("0.200", supplier, true, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000200Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.200", supplier, true, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999800Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("0.200", supplier, false, ZoneId.of("UTC"));
assertEquals("1970-01-01T00:00:00.000200Z", instant.toString());
}
{
Instant instant = formatter.toDateMathParser().parse("-0.200", supplier, false, ZoneId.of("UTC"));
assertEquals("1969-12-31T23:59:59.999800Z", instant.toString());
}

{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse(".200", supplier, true, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [.200] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("-.200", supplier, true, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [-.200] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse(".200", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [.200] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("-.200", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [-.200] with format [epoch_millis]"));
}

// tilda was included in the parsers at one point for delineating negative and positive infinity rounding and we want to
// ensure it doesn't show up unexpectedly in the parser with its original "~" value
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~-0.200", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~-0.200] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~0.200", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~0.200] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~-1", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~-1] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~1", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~1] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~-1.", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~-1.] with format [epoch_millis]"));
}
{
ElasticsearchParseException e = expectThrows(
ElasticsearchParseException.class,
() -> formatter.toDateMathParser().parse("~1.", supplier, false, ZoneId.of("UTC"))
);
assertThat(e.getMessage().split(":")[0], is("failed to parse date field [~1.] with format [epoch_millis]"));
}
}

/**
Expand Down
Loading

0 comments on commit 8abefd1

Please sign in to comment.