From 19e70a90c545349f2d29ec01c6e9496f224db1ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Thu, 12 Mar 2020 00:10:51 +0100 Subject: [PATCH] Test associativity of multiplication --- src/parse/terms.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/parse/terms.rs b/src/parse/terms.rs index ed3bdee..19108ed 100644 --- a/src/parse/terms.rs +++ b/src/parse/terms.rs @@ -576,6 +576,21 @@ mod tests assert_eq!(e1, e2); assert_ne!(e1, e3); + + let (rest, m1) = term("1 * 2 * 3 * 4 * 5, rest", &Declarations::new()).unwrap(); + assert_eq!(rest, ", rest"); + assert_eq!(format!("{}", m1), "1 * 2 * 3 * 4 * 5"); + + let (rest, m2) = term("1 * (2 * (3 * (4 * 5))), rest", &Declarations::new()).unwrap(); + assert_eq!(rest, ", rest"); + assert_eq!(format!("{}", m2), "1 * 2 * 3 * 4 * 5"); + + let (rest, m3) = term("(((1 * 2) * 3) * 4) * 5, rest", &Declarations::new()).unwrap(); + assert_eq!(rest, ", rest"); + assert_eq!(format!("{}", m3), "1 * 2 * 3 * 4 * 5"); + + assert_eq!(m1, m2); + assert_ne!(m1, m3); } #[test]