Add term parsing test
This commit is contained in:
parent
5b98e8a29c
commit
385c878597
@ -560,15 +560,22 @@ mod tests
|
||||
}*/
|
||||
|
||||
#[test]
|
||||
fn parse_term_precedence_2()
|
||||
fn parse_term()
|
||||
{
|
||||
assert_eq!(
|
||||
crate::parse::terms::term_precedence_2("1 ** 2 ** 3 ** 4 ** 5", &Declarations::new()),
|
||||
Ok(("", Term::exponentiate(Box::new(Term::integer(1)),
|
||||
Box::new(Term::exponentiate(Box::new(Term::integer(2)),
|
||||
Box::new(Term::exponentiate(Box::new(Term::integer(3)),
|
||||
Box::new(Term::exponentiate(Box::new(Term::integer(4)),
|
||||
Box::new(Term::integer(5))))))))))));
|
||||
let (rest, e1) = term("1 ** 2 ** 3 ** 4 ** 5, rest", &Declarations::new()).unwrap();
|
||||
assert_eq!(rest, ", rest");
|
||||
assert_eq!(format!("{}", e1), "1 ** 2 ** 3 ** 4 ** 5");
|
||||
|
||||
let (rest, e2) = term("1 ** (2 ** (3 ** (4 ** 5))), rest", &Declarations::new()).unwrap();
|
||||
assert_eq!(rest, ", rest");
|
||||
assert_eq!(format!("{}", e2), "1 ** 2 ** 3 ** 4 ** 5");
|
||||
|
||||
let (rest, e3) = term("(((1 ** 2) ** 3) ** 4) ** 5, rest", &Declarations::new()).unwrap();
|
||||
assert_eq!(rest, ", rest");
|
||||
assert_eq!(format!("{}", e3), "(((1 ** 2) ** 3) ** 4) ** 5");
|
||||
|
||||
assert_eq!(e1, e2);
|
||||
assert_ne!(e1, e3);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
Loading…
x
Reference in New Issue
Block a user