defmodule Hobbes.FuzzUtils do @spec validate_opts(keyword, [atom | {atom, term}]) :: map def validate_opts(opts, expected) do Map.new(expected, fn {key, default} -> {key, Keyword.get(opts, key, default)} key -> case Keyword.fetch(opts, key) do {:ok, value} -> {key, value} :error -> raise "Key #{inspect(key)} was not found in #{inspect(opts)}" end end) end end