summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-09-02 15:59:28 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-09-02 16:04:40 +0200
commitddc80f3776e2811cd31043f680d90bbde0eafe4b (patch)
treef47de6b84e2cdd5e37951e448e7883374c4954ea
parent673aafaae2e063c7e3bc93f48407ab02d2a75a7d (diff)
Add tests for calculating with parantheses
-rw-r--r--src/timetype.rs53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/timetype.rs b/src/timetype.rs
index 6cf5224..7dda5b5 100644
--- a/src/timetype.rs
+++ b/src/timetype.rs
@@ -969,6 +969,59 @@ mod tests {
_ => assert!(false, "Subtraction failed"),
}
}
+
+ #[test]
+ fn test_addition_of_years_multiple_calculate_reverse_order() {
+ let a = TT::Years(0);
+ let b = TT::Years(1);
+ let c = TT::Years(2);
+
+ let d = (a + (b + c)).calculate();
+
+ assert!(d.is_ok());
+ let d = d.unwrap();
+
+ match d {
+ TT::Years(3) => assert!(true),
+ _ => assert!(false, "Addition failed"),
+ }
+ }
+
+ #[test]
+ fn test_subtraction_of_years_multiple_calculate_reverse_order() {
+ let a = TT::Years(3);
+ let b = TT::Years(2);
+ let c = TT::Years(1);
+
+ let d = (a - (b - c)).calculate();
+
+ assert!(d.is_ok());
+ let d = d.unwrap();
+
+ match d {
+ TT::Years(2) => assert!(true),
+ _ => assert!(false, "Subtraction failed"),
+ }
+ }
+
+ #[test]
+ fn test_subtraction_of_years_multiple_calculate_reverse_order_2() {
+ let a = TT::Years(3);
+ let b = TT::Years(2);
+ let c = TT::Years(1);
+ let d = TT::Years(10);
+
+ let e = ((d - c) - (a - b)).calculate();
+
+ assert!(e.is_ok());
+ let e = e.unwrap();
+
+ match e {
+ TT::Years(8) => assert!(true),
+ _ => assert!(false, "Subtraction failed"),
+ }
+ }
+
}