From 311527f471d06656ef84976617e78ada74285f4e Mon Sep 17 00:00:00 2001 From: Emerentius Date: Tue, 14 Aug 2018 15:35:08 +0200 Subject: [PATCH] leap: add more test cases just 5 cases are likely to let some bugs slip through added a check for a range of years (1600 to 1699) and some additional centuries --- exercises/leap/tests/leap.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/exercises/leap/tests/leap.rs b/exercises/leap/tests/leap.rs index 7aaa37137..422951686 100644 --- a/exercises/leap/tests/leap.rs +++ b/exercises/leap/tests/leap.rs @@ -14,12 +14,27 @@ fn test_any_old_year() { #[test] #[ignore] fn test_century() { + assert_eq!(leap::is_leap_year(1700), false); + assert_eq!(leap::is_leap_year(1800), false); assert_eq!(leap::is_leap_year(1900), false); } #[test] #[ignore] fn test_exceptional_centuries() { + assert_eq!(leap::is_leap_year(1600), true); assert_eq!(leap::is_leap_year(2000), true); assert_eq!(leap::is_leap_year(2400), true); } + +#[test] +#[ignore] +fn test_years_1600_to_1699() { + let incorrect_years = (1600..1700) + .filter(|&year| leap::is_leap_year(year) != (year % 4 == 0)) + .collect::>(); + + if !incorrect_years.is_empty() { + panic!("incorrect result for years: {:?}", incorrect_years); + } +}