@Test
public void atan_null_value() {

  FunctionExpression atan = dsl.atan(DSL.ref(DOUBLE_TYPE_NULL_VALUE_FIELD, DOUBLE));
  assertEquals(DOUBLE, atan.type());
  assertTrue(atan.valueOf(valueEnv()).isNull());
  atan = dsl.atan(DSL.ref(DOUBLE_TYPE_NULL_VALUE_FIELD, DOUBLE), DSL.literal(1));
  assertEquals(DOUBLE, atan.type());
  assertTrue(atan.valueOf(valueEnv()).isNull());
  atan = dsl.atan(DSL.literal(1), DSL.ref(DOUBLE_TYPE_NULL_VALUE_FIELD, DOUBLE));
  assertEquals(DOUBLE, atan.type());
  assertTrue(atan.valueOf(valueEnv()).isNull());
  atan = dsl.atan(DSL.ref(DOUBLE_TYPE_NULL_VALUE_FIELD, DOUBLE),
      DSL.ref(DOUBLE_TYPE_NULL_VALUE_FIELD, DOUBLE));
  assertEquals(DOUBLE, atan.type());
  assertTrue(atan.valueOf(valueEnv()).isNull());
}