X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=test%2Fhope_kv_list_SUITE.erl;h=97f0ee6bcc0bf6fc31733e585490b9dec44120f3;hb=30a42d775b289fb111e5d80c7b35cfc9ef875a6b;hp=98c5489e2a625fabffd94ea53d57ce926e403fab;hpb=39273fbe5d3bb9501b22e98d313a72d9fb4ea2ea;p=hope.git diff --git a/test/hope_kv_list_SUITE.erl b/test/hope_kv_list_SUITE.erl index 98c5489..97f0ee6 100644 --- a/test/hope_kv_list_SUITE.erl +++ b/test/hope_kv_list_SUITE.erl @@ -10,6 +10,7 @@ -export( [ t_set_new/1 , t_set_existing/1 + , t_pop/1 ]). @@ -20,6 +21,9 @@ %% Common Test callbacks %% ============================================================================ +%% TODO: Make tests generic for any dictionary. +%% TODO: Each group should test a type of dictionary against the generic cases. + all() -> [{group, ?GROUP_KV_LIST}]. @@ -27,6 +31,7 @@ groups() -> Tests = [ t_set_new , t_set_existing + , t_pop ], Properties = [], [{?GROUP_KV_LIST, Properties, Tests}]. @@ -52,3 +57,14 @@ t_set_existing(_Config) -> ListResulting = hope_kv_list:set(ListInitial, Key, ValExpected), {some, ValResulting} = hope_kv_list:get(ListResulting, Key), ValResulting = ValExpected. + +t_pop(_Config) -> + KVList = [{a, 1}, {b, 2}, {c, 3}], + Dict1 = hope_kv_list:of_kv_list(KVList), + {{some, 1} , Dict2} = hope_kv_list:pop(Dict1, a), + {none , Dict3} = hope_kv_list:pop(Dict2, a), + {{some, 2} , Dict4} = hope_kv_list:pop(Dict3, b), + {none , Dict5} = hope_kv_list:pop(Dict4, b), + {{some, 3} , Dict6} = hope_kv_list:pop(Dict5, c), + {none , Dict7} = hope_kv_list:pop(Dict6, c), + [] = hope_kv_list:to_kv_list(Dict7).