Implement & test hope_kv_list:validate_unique_presence/(2|3)
[hope.git] / test / hope_kv_list_SUITE.erl
index 65d4d1f..511fc32 100644 (file)
@@ -8,11 +8,11 @@
 
 %% Test cases
 -export(
-    [
+    [ t_validate_unique_presence/1
     ]).
 
 
--define(GROUP_KV_LIST, kv_list).
+-define(GROUP , hope_kv_list).
 
 
 %% ============================================================================
 %% ============================================================================
 
 all() ->
-    [{group, ?GROUP_KV_LIST}].
+    [{group, ?GROUP}].
 
 groups() ->
     Tests =
-        [
+        [ t_validate_unique_presence
         ],
     Properties = [],
-    [{?GROUP_KV_LIST, Properties, Tests}].
+    [{?GROUP, Properties, Tests}].
 
 
 %% =============================================================================
 %%  Test cases
 %% =============================================================================
+
+t_validate_unique_presence(_Cfg) ->
+    KeysRequired = [a, b, c],
+    DictOk      = [{a, 1}, {b, 2}, {c, 3}],
+    DictUnsup   = [{a, 1}, {b, 2}, {c, 3}, {d, 4}],
+    DictDups    = [{a, 1}, {b, 2}, {c, 3}, {a, 4}],
+    DictMissing = [{a, 1}, {b, 2}],
+    {ok, ok} =
+        hope_kv_list:validate_unique_presence(DictOk, KeysRequired),
+    {error, [{keys_unsupported, [d]}]} =
+        hope_kv_list:validate_unique_presence(DictUnsup, KeysRequired),
+    {error, [{keys_duplicated, [a]}]} =
+        hope_kv_list:validate_unique_presence(DictDups, KeysRequired),
+    {error, [{keys_missing, [c]}]} =
+        hope_kv_list:validate_unique_presence(DictMissing, KeysRequired).
This page took 0.029546 seconds and 4 git commands to generate.