test cases (with the exception of precedence ones) pass