class ChefSpec::Matchers::NotificationsMatcher

def failure_message

def failure_message
  if @resource
    message = %Q{expected "#{@resource}" to notify "#{@expected_resource_type}[#{@expected_resource_name}]"}
    message << " with action :#{@action}" if @action
    message << " immediately" if @immediately
    message << " delayed" if @delayed
    message << " before" if @before
    message << ", but did not."
    message << "\n\n"
    message << "Other notifications were:\n\n#{format_notifications}"
    message << "\n "
    message
  else
    message = %Q{expected _something_ to notify "#{@expected_resource_type}[#{@expected_resource_name}]"}
    message << " with action :#{@action}" if @action
    message << " immediately" if @immediately
    message << " delayed" if @delayed
    message << " before" if @before
    message << ", but the _something_ you gave me was nil! If you are running a test like:"
    message << "\n\n"
    message << "  expect(_something_).to notify('...')"
    message << "\n\n"
    message << "Make sure that `_something_` exists, because I got nil"
    message << "\n "
    message
  end
end