void checkPeriodPredicate(Checker checker) { checker.checkExp("$p(x,xx) $op $p(y,yy)", "(PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`))"); checker.checkExp( "$p(x,xx) $op $p(y,yy) or false", "((PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)) OR FALSE)"); checker.checkExp( "true and not $p(x,xx) $op $p(y,yy) or false", "((TRUE AND (NOT (PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)))) OR FALSE)"); if (checker.period.isEmpty()) { checker.checkExp("$p(x,xx,xxx) $op $p(y,yy) or false", "((PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)) OR FALSE)"); } else { // 3-argument rows are valid in the parser, rejected by the validator checker.checkExpFails("$p(x,xx^,^xxx) $op $p(y,yy) or false", "(?s).*Encountered \",\" at .*"); } }
void checkPeriodPredicate(Checker checker) { checker.checkExp("$p(x,xx) $op $p(y,yy)", "(PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`))"); checker.checkExp( "$p(x,xx) $op $p(y,yy) or false", "((PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)) OR FALSE)"); checker.checkExp( "true and not $p(x,xx) $op $p(y,yy) or false", "((TRUE AND (NOT (PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)))) OR FALSE)"); if (checker.period.isEmpty()) { checker.checkExp("$p(x,xx,xxx) $op $p(y,yy) or false", "((PERIOD (`X`, `XX`) $op PERIOD (`Y`, `YY`)) OR FALSE)"); } else { // 3-argument rows are valid in the parser, rejected by the validator checker.checkExpFails("$p(x,xx^,^xxx) $op $p(y,yy) or false", "(?s).*Encountered \",\" at .*"); } }