use super::*;
#[test]
fn test_via_modal_arity_one_predicate_errors() {
let predicates = vec![
Predicate::Root("big".into()), Predicate::Root("person".into()), ];
let arguments = vec![
Argument::Pronoun(Pronoun::Me), Argument::Pronoun(Pronoun::You), Argument::ModalTagged((ModalTag(1), 1)), ];
let proposition = Proposition {
relation: 0,
terms: vec![0, 2],
x1_present: true,
negated: false,
tense: None,
deontic: None,
};
let (_form, compiler) = compile_one(predicates, arguments, proposition);
assert!(
!compiler.errors.is_empty(),
"a 1-place fi'o modal must fail closed"
);
assert!(
compiler.errors.iter().any(|e| e.contains("Modal tag")),
"error should name the modal-arity limitation, got: {:?}",
compiler.errors
);
}