[{"name":"CommonTests","comment":"\n\n@docs isDict, DictAPI\n\n","unions":[],"aliases":[{"name":"DictAPI","comment":" Provide your functions. Typically something like the below example.\n\nNote: you can opt out of testing some functions with `Nothing`, but beware: not\nproviding eg. `toList` will result in almost no tests being actually ran.\n\n    -- Debug.toString\n    { dictToString = Debug.toString\n\n    -- Creation\n    , empty = Just <| OpaqueDict.empty identity\n    , singleton = Just <| OpaqueDict.singleton identity\n    , fromList = Just <| OpaqueDict.fromList identity\n\n    -- Updating\n    , insert = Just OpaqueDict.insert\n    , update = Just OpaqueDict.update\n    , remove = Just OpaqueDict.remove\n    , map = Just OpaqueDict.map\n    , filter = Just OpaqueDict.filter\n    , union = Just OpaqueDict.union\n    , intersect = Just OpaqueDict.intersect\n    , diff = Just OpaqueDict.diff\n\n    -- Querying\n    , size = Just OpaqueDict.size\n    , isEmpty = Just OpaqueDict.isEmpty\n    , member = Just OpaqueDict.member\n    , get = Just OpaqueDict.get\n    , toList = Just OpaqueDict.toList\n    , foldl = Just OpaqueDict.foldl\n    , foldr = Just OpaqueDict.foldr\n    , partition = Just OpaqueDict.partition\n    , keys = Just OpaqueDict.keys\n    , values = Just OpaqueDict.values\n    , merge = Just OpaqueDict.merge\n    }\n\n","args":["d"],"type":"{ dictToString : d -> String.String, empty : Maybe.Maybe d, singleton : Maybe.Maybe (String.String -> Basics.Int -> d), fromList : Maybe.Maybe (List.List ( String.String, Basics.Int ) -> d), insert : Maybe.Maybe (String.String -> Basics.Int -> d -> d), remove : Maybe.Maybe (String.String -> d -> d), update : Maybe.Maybe (String.String -> (Maybe.Maybe Basics.Int -> Maybe.Maybe Basics.Int) -> d -> d), map : Maybe.Maybe ((String.String -> Basics.Int -> Basics.Int) -> d -> d), filter : Maybe.Maybe ((String.String -> Basics.Int -> Basics.Bool) -> d -> d), union : Maybe.Maybe (d -> d -> d), intersect : Maybe.Maybe (d -> d -> d), diff : Maybe.Maybe (d -> d -> d), size : Maybe.Maybe (d -> Basics.Int), isEmpty : Maybe.Maybe (d -> Basics.Bool), member : Maybe.Maybe (String.String -> d -> Basics.Bool), get : Maybe.Maybe (String.String -> d -> Maybe.Maybe Basics.Int), toList : Maybe.Maybe (d -> List.List ( String.String, Basics.Int )), foldl : Maybe.Maybe ((String.String -> Basics.Int -> List.List Basics.Int -> List.List Basics.Int) -> List.List Basics.Int -> d -> List.List Basics.Int), foldr : Maybe.Maybe ((String.String -> Basics.Int -> List.List Basics.Int -> List.List Basics.Int) -> List.List Basics.Int -> d -> List.List Basics.Int), partition : Maybe.Maybe ((String.String -> Basics.Int -> Basics.Bool) -> d -> ( d, d )), keys : Maybe.Maybe (d -> List.List String.String), values : Maybe.Maybe (d -> List.List Basics.Int), merge : Maybe.Maybe ((String.String -> Basics.Int -> List.List Basics.Int -> List.List Basics.Int) -> (String.String -> Basics.Int -> Basics.Int -> List.List Basics.Int -> List.List Basics.Int) -> (String.String -> Basics.Int -> List.List Basics.Int -> List.List Basics.Int) -> d -> d -> List.List Basics.Int -> List.List Basics.Int) }"}],"values":[{"name":"isDict","comment":" Given a record of your Dict functions, this function will run a\ncomprehensive suite of tests against them, comparing them to the elm/core Dict.\n\nIt will:\n\n  - Create the initial Dict using a random constructor (like `empty`, `singleton` or `fromList`)\n  - Run a random sequence of \"updating\" actions on it (like `insert`, `filter`, `diff` etc.)\n  - Query the final Dict using a random function (like `size`, `get`, `partition`, `toList` etc.)\n\nThe process above will run on both _your_ Dict and the `elm/core` Dict in\ntandem. (The same commands will run for both.)\n\nThere should be no visible difference in behaviour: eg. order of items given\nfrom `toList` should be the same.\n\nThis helps prevent subtle surprises when users switch between Dict\nimplementations, like `update key (\\_ -> Nothing)` not removing items from the\nDict (a real bug in one of the 3rd-party Dicts!).\n\n","type":"CommonTests.DictAPI d -> Test.Test"}],"binops":[]}]