diff --git a/src/rust/core/images.rs b/src/rust/core/images.rs index b923f9d..26d2316 100644 --- a/src/rust/core/images.rs +++ b/src/rust/core/images.rs @@ -45,7 +45,7 @@ mod test { pub fn test_db_and_model() { let mut image_model: Model = Model::default(); image_model.load_from_db(); - if let Some(image) = image_model.get_item(|i| i.id == 3) { + if let Some(image) = image_model.find(|i| i.id == 3) { let test_image = test_image("nccq5".into()); assert_eq!(test_image.title, image.title); } else { @@ -61,10 +61,10 @@ mod test { let new_image = test_image("A newer image".into()); match result { Ok(_) => { - assert_eq!(&image, image_model.get_item(|i| i.id == 0).unwrap()); + assert_eq!(&image, image_model.find(|i| i.id == 0).unwrap()); assert_ne!( &new_image, - image_model.get_item(|i| i.id == 0).unwrap() + image_model.find(|i| i.id == 0).unwrap() ); } Err(e) => assert!( diff --git a/src/rust/core/model.rs b/src/rust/core/model.rs index e155ef9..f8972a2 100644 --- a/src/rust/core/model.rs +++ b/src/rust/core/model.rs @@ -36,11 +36,16 @@ impl Model { Ok(()) } - pub fn get_item

(&self, f: P) -> Option<&T> + pub fn get_item(&self, index: i32) -> Option<&T> + { + self.items.get(index as usize) + } + + pub fn find

(&self, f: P) -> Option<&T> where P: FnMut(&&T) -> bool, { - self.items.iter().filter(f).next() + self.items.iter().find(f) } pub fn insert_item(&mut self, item: T, index: i32) -> Result<()> { diff --git a/src/rust/core/presentations.rs b/src/rust/core/presentations.rs index dac0df8..a67adc1 100644 --- a/src/rust/core/presentations.rs +++ b/src/rust/core/presentations.rs @@ -88,7 +88,7 @@ mod test { let mut presentation_model: Model = Model::default(); presentation_model.load_from_db(); - if let Some(presentation) = presentation_model.get_item(|p| p.id == 10) { + if let Some(presentation) = presentation_model.find(|p| p.id == 54) { let test_presentation = test_presentation(); assert_eq!(&test_presentation, presentation); } else { diff --git a/src/rust/core/songs.rs b/src/rust/core/songs.rs index 3f9ec68..6446cc3 100644 --- a/src/rust/core/songs.rs +++ b/src/rust/core/songs.rs @@ -282,7 +282,7 @@ You saved my soul" pub fn test_db_and_model() { let mut song_model: Model = Model::default(); song_model.load_from_db(); - if let Some(song) = song_model.get_item(|s| s.id == 7) { + if let Some(song) = song_model.find(|s| s.id == 7) { let test_song = test_song(); assert_eq!(&test_song, song); } else { @@ -310,7 +310,7 @@ You saved my soul" match song_model.update_item(song, 2) { Ok(()) => assert_eq!( &cloned_song, - song_model.get_item(|s| s.id == 7).unwrap() + song_model.find(|s| s.id == 7).unwrap() ), Err(e) => assert!(false, "{e}"), } diff --git a/src/rust/core/videos.rs b/src/rust/core/videos.rs index a02d721..fc41387 100644 --- a/src/rust/core/videos.rs +++ b/src/rust/core/videos.rs @@ -48,7 +48,7 @@ mod test { pub fn test_db_and_model() { let mut video_model: Model