@Test
public void mod_missing_value() {

  FunctionExpression mod =
      dsl.mod(DSL.ref(INT_TYPE_MISSING_VALUE_FIELD, INTEGER), DSL.literal(1));
  assertEquals(INTEGER, mod.type());
  assertTrue(mod.valueOf(valueEnv()).isMissing());
  mod = dsl.mod(DSL.literal(1), DSL.ref(INT_TYPE_MISSING_VALUE_FIELD, INTEGER));
  assertEquals(INTEGER, mod.type());
  assertTrue(mod.valueOf(valueEnv()).isMissing());
  mod = dsl.mod(
      DSL.ref(INT_TYPE_MISSING_VALUE_FIELD, INTEGER),
      DSL.ref(INT_TYPE_MISSING_VALUE_FIELD, INTEGER));
  assertEquals(INTEGER, mod.type());
  assertTrue(mod.valueOf(valueEnv()).isMissing());
}