use of io.confluent.ksql.execution.expression.tree.TimeLiteral in project ksql by confluentinc.
the class InterpretedExpressionTest method shouldEvaluateCastToTime.
@Test
public void shouldEvaluateCastToTime() {
// Given:
final Expression cast1 = new Cast(new TimestampLiteral(Timestamp.from(Instant.ofEpochMilli(1000))), new Type(SqlPrimitiveType.of("TIME")));
final Expression cast2 = new Cast(new StringLiteral("23:59:58"), new Type(SqlPrimitiveType.of("TIME")));
final Expression cast3 = new Cast(new TimeLiteral(new Time(1000)), new Type(SqlPrimitiveType.of("TIME")));
// When:
InterpretedExpression interpreter1 = interpreter(cast1);
InterpretedExpression interpreter2 = interpreter(cast2);
InterpretedExpression interpreter3 = interpreter(cast3);
// Then:
assertThat(interpreter1.evaluate(ROW), is(new Time(1000L)));
assertThat(interpreter2.evaluate(ROW), is(new Time(86398000)));
assertThat(interpreter3.evaluate(ROW), is(new Time(1000L)));
}
use of io.confluent.ksql.execution.expression.tree.TimeLiteral in project ksql by confluentinc.
the class SqlToJavaVisitorTest method shouldGenerateCorrectCodeForTime.
@Test
public void shouldGenerateCorrectCodeForTime() {
// Given:
final TimeLiteral time = new TimeLiteral(new Time(185000));
// When:
final String java = sqlToJavaVisitor.process(time);
// Then:
assertThat(java, is("00:03:05"));
}
use of io.confluent.ksql.execution.expression.tree.TimeLiteral in project ksql by confluentinc.
the class InterpretedExpressionTest method shouldEvaluateComparisons_time.
@Test
public void shouldEvaluateComparisons_time() {
// Given:
final Expression expression1 = new ComparisonExpression(ComparisonExpression.Type.GREATER_THAN, TIMESTAMPCOL, new TimestampLiteral(new Timestamp(1000)));
final Expression expression2 = new ComparisonExpression(ComparisonExpression.Type.LESS_THAN, TIMESTAMPCOL, new StringLiteral("2017-11-13T23:59:58"));
final Expression expression3 = new ComparisonExpression(ComparisonExpression.Type.EQUAL, TIMESTAMPCOL, new DateLiteral(new Date(864000000)));
final Expression expression4 = new ComparisonExpression(ComparisonExpression.Type.NOT_EQUAL, TIMECOL, new TimeLiteral(new Time(1000)));
final Expression expression5 = new ComparisonExpression(ComparisonExpression.Type.LESS_THAN_OR_EQUAL, TIMECOL, new StringLiteral("00:01:32"));
final Expression expression6 = new ComparisonExpression(ComparisonExpression.Type.GREATER_THAN_OR_EQUAL, DATECOL, new StringLiteral("1970-01-20"));
final Expression expression7 = new ComparisonExpression(ComparisonExpression.Type.GREATER_THAN_OR_EQUAL, DATECOL, new DateLiteral(new Date(864000000)));
final Expression expression8 = new ComparisonExpression(ComparisonExpression.Type.EQUAL, DATECOL, new TimestampLiteral(new Timestamp(864000005)));
// When:
InterpretedExpression interpreter1 = interpreter(expression1);
InterpretedExpression interpreter2 = interpreter(expression2);
InterpretedExpression interpreter3 = interpreter(expression3);
InterpretedExpression interpreter4 = interpreter(expression4);
InterpretedExpression interpreter5 = interpreter(expression5);
InterpretedExpression interpreter6 = interpreter(expression6);
InterpretedExpression interpreter7 = interpreter(expression7);
InterpretedExpression interpreter8 = interpreter(expression8);
// Then:
assertThat(interpreter1.evaluate(make(10, new Timestamp(1001))), is(true));
assertThat(interpreter2.evaluate(make(10, new Timestamp(151061759799L))), is(true));
assertThat(interpreter3.evaluate(make(10, new Timestamp(864000000))), is(true));
assertThat(interpreter4.evaluate(make(12, new Time(1000))), is(false));
assertThat(interpreter5.evaluate(make(12, new Time(4))), is(true));
assertThat(interpreter6.evaluate(make(13, new Date(86400000))), is(false));
assertThat(interpreter7.evaluate(make(13, new Date(864000000))), is(true));
assertThat(interpreter8.evaluate(make(13, new Date(864000000))), is(false));
}
Aggregations