summaryrefslogtreecommitdiff
path: root/backend/app/src/utils/find_by_id_or.rs
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2024-10-22 07:46:43 +0100
committerJoe Carstairs <me@joeac.net>2024-10-22 07:46:43 +0100
commit5824c353f978a5b9ab9696451ee3014c6a614ffc (patch)
treebc39754ca417e84eb00b0aa9a1ae2330da0bf282 /backend/app/src/utils/find_by_id_or.rs
parent7adaace61a4fe983eba5ded3aaaf624ce6fb9014 (diff)
Refactors importer to use core stuff
Diffstat (limited to 'backend/app/src/utils/find_by_id_or.rs')
-rw-r--r--backend/app/src/utils/find_by_id_or.rs53
1 files changed, 0 insertions, 53 deletions
diff --git a/backend/app/src/utils/find_by_id_or.rs b/backend/app/src/utils/find_by_id_or.rs
deleted file mode 100644
index f5add30..0000000
--- a/backend/app/src/utils/find_by_id_or.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-pub fn find_by_id_or<Id: PartialEq, Val: Copy>(
- arr: &[(Id, Option<Val>)],
- id: Id,
- default: Val,
-) -> Val {
- arr.iter()
- .find(|(elem_id, _)| *elem_id == id)
- .map_or(default, |row| match row {
- (_, Some(quantity)) => *quantity,
- (_, _) => default,
- })
-}
-
-#[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, Some(100)), (2, Some(200))];
-
- let result = find_by_id_or(&arr, 1, 42);
-
- assert_eq!(result, 42);
- }
-
- #[test]
- fn when_value_is_none_then_return_default() {
- let arr = [(1, None)];
-
- let result = find_by_id_or(&arr, 1, 42);
-
- assert_eq!(result, 42);
- }
-
- #[test]
- fn when_value_is_some_then_return_value() {
- let arr = [(1, Some(67))];
-
- let result = find_by_id_or(&arr, 1, 42);
-
- assert_eq!(result, 67);
- }
-}