X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=test%2Fhope_option_SUITE.erl;h=d2a73a31eda9fdef61c327dfb6955565ecfecc53;hb=4744fed98ce752dde11c03aeaf8d90983efe5ea6;hp=8789d3d8e021fba5569b8552a87f6ad36a399534;hpb=4af0774b16181c76d0deedf0911d53409c8f1078;p=hope.git diff --git a/test/hope_option_SUITE.erl b/test/hope_option_SUITE.erl index 8789d3d..d2a73a3 100644 --- a/test/hope_option_SUITE.erl +++ b/test/hope_option_SUITE.erl @@ -9,11 +9,13 @@ %% Test cases -export( [ t_of_result/1 + , t_of_undefined/1 , t_put/1 , t_get/1 , t_map/1 , t_iter/1 , t_pipe/1 + , t_validate/1 ]). @@ -31,11 +33,13 @@ all() -> groups() -> Tests = [ t_of_result + , t_of_undefined , t_put , t_get , t_map , t_iter , t_pipe + , t_validate ], Properties = [parallel], [ {?GROUP, Properties, Tests} @@ -62,12 +66,12 @@ t_map(_Cfg) -> t_iter(_Cfg) -> Key = key, - Put = fun (Val) -> _ = put(Key, Val), ok end, + Put = fun (Val) -> put(Key, Val) end, Get = fun () -> get(Key) end, Val = foo, - ok = hope_option:iter(none , Put), + {} = hope_option:iter(none , Put), undefined = Get(), - ok = hope_option:iter({some, Val}, Put), + {} = hope_option:iter({some, Val}, Put), Val = Get(). t_of_result(_Cfg) -> @@ -88,3 +92,18 @@ t_pipe(_Cfg) -> none = hope_option:pipe(Steps, 1), none = hope_option:pipe(Steps, 2), none = hope_option:pipe(Steps, 3). + +t_of_undefined(_Cfg) -> + Foo = foo, + Bar = bar, + Baz = baz, + {some, Foo} = hope_option:of_undefined(Foo), + {some, Bar} = hope_option:of_undefined(Bar), + {some, Baz} = hope_option:of_undefined(Baz), + none = hope_option:of_undefined(undefined). + +t_validate(_Cfg) -> + IsFoo = fun (X) -> X =:= foo end, + none = hope_option:validate(none, IsFoo), + none = hope_option:validate({some, bar}, IsFoo), + {some, foo} = hope_option:validate({some, foo}, IsFoo).