Code.require_file "../test_helper.exs", __DIR__ Code.require_file "../../lib/helpers/module_info.exs", __DIR__ defmodule Alchemist.Helpers.ModuleTest do use ExUnit.Case alias Alchemist.Helpers.ModuleInfo test "moduledoc? returns true" do assert ModuleInfo.moduledoc?(List) == true end test "moduledoc? returns false" do assert ModuleInfo.moduledoc?(List.Chars.Atom) == false end test "docs? returns true" do assert ModuleInfo.docs?(List, :flatten) == true assert ModuleInfo.docs?(Kernel, :def) == true end test "docs? returns false" do assert ModuleInfo.docs?(List, :dance) == false assert ModuleInfo.docs?(nil, :dance) == false end test "expand_alias return expanded module alias" do aliases = [{MyList, List}, {MyGenServer, :gen_server}] assert ModuleInfo.expand_alias([MyList], aliases) == List assert ModuleInfo.expand_alias([MyGenServer], aliases) == :gen_server assert ModuleInfo.expand_alias([MyList], aliases) == List end test "has_function? return true" do assert ModuleInfo.has_function?(List, :flatten) == true assert ModuleInfo.has_function?(List, :to_string) == true end test "has_function? return false" do assert ModuleInfo.has_function?(List, :split) == false assert ModuleInfo.has_function?(List, :map) == false end end