+
+t_set_new(Cfg) ->
+ {some, DictModule} = hope_kv_list:get(Cfg, ?DICT_MODULE),
+ Key = key,
+ ValExpected = bar,
+ ListInitial = DictModule:empty(),
+ ListResulting = DictModule:set(ListInitial, Key, ValExpected),
+ {some, ValResulting} = DictModule:get(ListResulting, Key),
+ ValResulting = ValExpected.
+
+t_set_existing(Cfg) ->
+ {some, DictModule} = hope_kv_list:get(Cfg, ?DICT_MODULE),
+ Key = key,
+ ValInitial = foo,
+ ValExpected = bar,
+ ListInitial = [{donald, duck}, {Key, ValInitial}],
+ ListResulting = DictModule:set(ListInitial, Key, ValExpected),
+ {some, ValResulting} = DictModule:get(ListResulting, Key),
+ ValResulting = ValExpected.
+
+t_pop(Cfg) ->
+ {some, DictModule} = hope_kv_list:get(Cfg, ?DICT_MODULE),
+ KVList = [{a, 1}, {b, 2}, {c, 3}],
+ Dict1 = DictModule:of_kv_list(KVList),
+ {{some, 1} , Dict2} = DictModule:pop(Dict1, a),
+ {none , Dict3} = DictModule:pop(Dict2, a),
+ {{some, 2} , Dict4} = DictModule:pop(Dict3, b),
+ {none , Dict5} = DictModule:pop(Dict4, b),
+ {{some, 3} , Dict6} = DictModule:pop(Dict5, c),
+ {none , Dict7} = DictModule:pop(Dict6, c),
+ [] = DictModule:to_kv_list(Dict7).