   Provides a convenient macro that allows a test to be
   defined with a string, but not yet implemented. The
   resulting test will always fail and print "Not yet
-  implemented" error message.
+  implemented" error message. The resulting test case is
+  also tagged with :not_implemented.
 
   ## Examples
 

  defmacro test(message) do
    quote bind_quoted: binding do
      test = :"test #{message}"
      ExUnit.Case.__on_definition__(__ENV__, test)
      def unquote(test)(_), do: flunk("Not yet implemented")
    end
  end

  end

  @doc false
  def __on_definition__(env, name, tags \\ []) do
    mod  = env.module
    tags = tags ++ Module.get_attribute(mod, :tag) ++ Module.get_attribute(mod, :moduletag)
    tags = tags |> normalize_tags |> Map.merge(%{line: env.line, file: env.file})

    test = %ExUnit.Test{name: name, case: mod, tags: tags}
