diff options
| author | Joe Carstairs <me@joeac.net> | 2024-12-12 08:28:04 +0000 |
|---|---|---|
| committer | Joe Carstairs <me@joeac.net> | 2024-12-12 08:28:04 +0000 |
| commit | 54894f9de9bad4fecb2a116d59a03cdd003f84c0 (patch) | |
| tree | 6ce5517cecf23d4e93d7a381a374e1fa6c810cee /rust/schist_queries/src/utils/find_by_id_or.rs | |
| parent | 8a30bcbdf9264d235bf93da3df8e170cfde53d02 (diff) | |
Moves rust workspace to root
Diffstat (limited to 'rust/schist_queries/src/utils/find_by_id_or.rs')
| -rw-r--r-- | rust/schist_queries/src/utils/find_by_id_or.rs | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/rust/schist_queries/src/utils/find_by_id_or.rs b/rust/schist_queries/src/utils/find_by_id_or.rs deleted file mode 100644 index 8335e5c..0000000 --- a/rust/schist_queries/src/utils/find_by_id_or.rs +++ /dev/null @@ -1,41 +0,0 @@ -pub fn find_by_id_or<Id: PartialEq, Val: Copy>( - arr: &[(Id, Val)], - id: Id, - default: Val, -) -> Val { - arr.iter() - .find(|(elem_id, _)| *elem_id == id) - .map_or(default, |row| row.1) -} - -#[cfg(test)] -mod test { - use super::find_by_id_or; - - #[test] - fn when_no_elements_then_return_default() { - let arr = []; - - let result = find_by_id_or(&arr, 1, 42); - - assert_eq!(result, 42); - } - - #[test] - fn when_id_not_in_elements_then_return_default() { - let arr = [(0, 100), (2, 200)]; - - let result = find_by_id_or(&arr, 1, 42); - - assert_eq!(result, 42); - } - - #[test] - fn when_id_in_elements_then_return_value() { - let arr = [(1, 67)]; - - let result = find_by_id_or(&arr, 1, 42); - - assert_eq!(result, 67); - } -} |
