diff --git a/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/Cargo.toml b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/Cargo.toml new file mode 100644 index 0000000..e87a33d --- /dev/null +++ b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "is_johnny_making_progress" +version = "0.1.0" +edition = "2021" + +[dependencies] diff --git a/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/lib.rs b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/lib.rs new file mode 100644 index 0000000..fe3a784 --- /dev/null +++ b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/lib.rs @@ -0,0 +1,11 @@ +pub fn progress_days(days: &'static [usize]) -> usize { + let mut progress_days = 0; + + for i in 1..days.len() { + if days[i] > days[i-1] { + progress_days += 1; + } + } + + progress_days +} diff --git a/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/main.rs b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/main.rs new file mode 100644 index 0000000..a15d23e --- /dev/null +++ b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Run `cargo test`."); +} diff --git a/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/tests/progress_days_tests.rs b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/tests/progress_days_tests.rs new file mode 100644 index 0000000..609c4d0 --- /dev/null +++ b/Week-01/Day-04_Is-Johnny-Making-Progress/is_johnny_making_progress/tests/progress_days_tests.rs @@ -0,0 +1,21 @@ +use is_johnny_making_progress::progress_days; + +#[test] +fn no_progress_days() { + assert_eq!(progress_days(&[9, 9]), 0); +} + +#[test] +fn one_progress_day() { + assert_eq!(progress_days(&[6, 5, 4, 3, 2, 9]), 1); +} + +#[test] +fn two_progress_days() { + assert_eq!(progress_days(&[3, 4, 1, 2]), 2); +} + +#[test] +fn three_progress_days() { + assert_eq!(progress_days(&[10, 11, 12, 9, 10]), 3); +}