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