use orx_concurrent_option::*; #[test] fn initialize_if_none() { let x = ConcurrentOption::::none(); let inserted = x.initialize_if_none(3.to_string()); assert!(inserted); assert_eq!(unsafe { x.as_ref() }, Some(&3.to_string())); let x = ConcurrentOption::some(7.to_string()); let inserted = x.initialize_if_none(3.to_string()); assert!(!inserted); assert_eq!(unsafe { x.as_ref() }, Some(&7.to_string())); } #[test] #[cfg(not(miri))] fn initialize_unchecked() { let x = ConcurrentOption::::none(); unsafe { x.initialize_unchecked(3.to_string()) }; assert_eq!(unsafe { x.as_ref() }, Some(&3.to_string())); let x = ConcurrentOption::some(7.to_string()); unsafe { x.initialize_unchecked(3.to_string()) }; assert_eq!(unsafe { x.as_ref() }, Some(&3.to_string())); } #[test] fn map() { let x = ConcurrentOption::::none(); let len = x.map(|x| x.len()); assert_eq!(len, None); let x = ConcurrentOption::some(7.to_string()); let len = x.map(|x| x.len()); assert_eq!(len, Some(1)); }