File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed
Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -1447,6 +1447,17 @@ mod tests {
14471447 assert_eq ! ( cache. get_or_insert( "lemon" , || "red" ) , & "orange" ) ;
14481448 }
14491449
1450+ #[ test]
1451+ fn test_try_get_or_insert ( ) {
1452+ let mut cache = LruCache :: new ( NonZeroUsize :: new ( 2 ) . unwrap ( ) ) ;
1453+
1454+ assert_eq ! ( cache. try_get_or_insert:: <_, & str >( "apple" , || Ok ( "red" ) ) , Ok ( & "red" ) ) ;
1455+ assert_eq ! ( cache. try_get_or_insert:: <_, & str >( "apple" , || Err ( "failed" ) ) , Ok ( & "red" ) ) ;
1456+ assert_eq ! ( cache. try_get_or_insert:: <_, & str >( "banana" , || Ok ( "orange" ) ) , Ok ( & "orange" ) ) ;
1457+ assert_eq ! ( cache. try_get_or_insert:: <_, & str >( "lemon" , || Err ( "failed" ) ) , Err ( "failed" ) ) ;
1458+ assert_eq ! ( cache. try_get_or_insert:: <_, & str >( "banana" , || Err ( "failed" ) ) , Ok ( & "orange" ) ) ;
1459+ }
1460+
14501461 #[ test]
14511462 fn test_put_and_get_or_insert_mut ( ) {
14521463 let mut cache = LruCache :: new ( NonZeroUsize :: new ( 2 ) . unwrap ( ) ) ;
You can’t perform that action at this time.
0 commit comments