@Test
public void testTimeFloor()
{
testExpression(
rexBuilder.makeCall(
new TimeFloorOperatorConversion().calciteOperator(),
timestampLiteral(DateTimes.of("2000-02-03T04:05:06Z")),
rexBuilder.makeLiteral("PT1H")
),
DruidExpression.fromExpression("timestamp_floor(949550706000,'PT1H',null,'UTC')"),
DateTimes.of("2000-02-03T04:00:00").getMillis()
);
testExpression(
rexBuilder.makeCall(
new TimeFloorOperatorConversion().calciteOperator(),
inputRef("t"),
rexBuilder.makeLiteral("P1D"),
rexBuilder.makeNullLiteral(typeFactory.createSqlType(SqlTypeName.TIMESTAMP)),
rexBuilder.makeLiteral("America/Los_Angeles")
),
DruidExpression.fromExpression("timestamp_floor(\"t\",'P1D',null,'America/Los_Angeles')"),
DateTimes.of("2000-02-02T08:00:00").getMillis()
);
}