1pub fn overwrite_left_with_right<T>(left: &mut T, right: T) {
10 *left = right;
11}
12
13#[cfg(test)]
14mod tests {
15
16 use crate::domain::activity::Activity;
17
18 use super::*;
19
20 #[test]
21 fn test_overwrite_i32_passes() {
22 let mut left = 1;
23 let right = 2;
24 overwrite_left_with_right(&mut left, right);
25 assert_eq!(left, 2);
26 }
27
28 #[test]
29 fn test_overwrite_string_passes() {
30 let mut left = String::from("left");
31 let right = String::from("right");
32 overwrite_left_with_right(&mut left, right);
33 assert_eq!(left, "right");
34 }
35
36 #[test]
37 fn test_overwrite_activity_passes() {
38 let mut left = Activity::default();
39 let mut right = Activity::default();
40 _ = right.category_mut().replace("right".to_string());
41 overwrite_left_with_right(&mut left, right);
42 assert_eq!(left.category(), &Some("right".to_string()));
43 }
44}