From 06439d80c7d2348b5afb0882a8e1bbd06932b163 Mon Sep 17 00:00:00 2001 From: djkato Date: Tue, 18 Apr 2023 21:32:55 +0200 Subject: [PATCH] Fixed >=, renamed and added tests --- src/lib.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 5048db0..d590c2b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -571,7 +571,7 @@ impl Grid { /// assert_eq![grid.remove_row(0), None]; /// ``` pub fn remove_row(&mut self, row_index: usize) -> Option> { - if self.cols == 0 || self.rows == 0 || row_index > self.rows { + if self.cols == 0 || self.rows == 0 || row_index >= self.rows { return None; } let residue = self @@ -625,7 +625,7 @@ impl Grid { /// assert_eq![grid.remove_col(0), None]; /// ``` pub fn remove_col(&mut self, col_index: usize) -> Option> { - if self.cols == 0 || self.rows == 0 || col_index > self.cols { + if self.cols == 0 || self.rows == 0 || col_index >= self.cols { return None; } let mut residue: Vec = vec![]; @@ -1660,8 +1660,8 @@ r#"[ let sum_by_col: Vec = grid.iter_cols().map(|col| col.sum()).collect(); assert_eq!(sum_by_col, vec![1+4, 2+5, 3+6]) } - #[test] - fn remove_col_empty() { + #[test] + fn remove_col() { let mut grid = grid![[1,2,3,4][5,6,7,8][9,10,11,12][13,14,15,16]]; assert_eq![grid.remove_col(3), Some(vec![4, 8, 12, 16])]; assert_eq![grid.remove_col(0), Some(vec![1, 5, 9, 13])]; @@ -1670,11 +1670,23 @@ r#"[ assert_eq![grid.remove_col(0), None]; } #[test] - fn remove_row_empty() { + fn remove_row() { let mut grid = grid![[1,2][3,4][5,6]]; assert_eq![grid.remove_row(1), Some(vec![3, 4])]; assert_eq![grid.remove_row(0), Some(vec![1, 2])]; assert_eq![grid.remove_row(0), Some(vec![5, 6])]; assert_eq![grid.remove_row(0), None]; } + #[test] + fn remove_row_out_of_bound(){ + let mut grid = grid![[1, 2][3, 4]]; + assert_eq![grid.remove_row(5), None]; + assert_eq![grid.remove_row(1), Some(vec![3, 4])]; + } + #[test] + fn remove_col_out_of_bound(){ + let mut grid = grid![[1, 2][3, 4]]; + assert_eq!(grid.remove_col(5), None); + assert_eq!(grid.remove_col(1), Some(vec![2, 4])); + } }