def denies(*what, &definition)
      what << {:negative => true}
      new_assertion "denies", *what, &definition
    end
Like an assertion, but expects negative results.

In the most basic form, a denial requires a descriptive name and a block.

denies("#size is equals to 2") { topic.size != 2 }

Several shortcuts are available here as well. Assertion macros can be added to the
end, automating a number of common assertion patterns, e.g.

denies("#size") { topic.size }.equals(2)

Furthermore, the pattern of testing an attribute on the topic is codified as

denies(:size).equals(2)

the shorcut can also pass additional arguments to the method like:

denies(:foo,1,3).equals(2)

Passing a Symbol to +denies+ enables this behaviour. For more information on
assertion macros, see {Riot::AssertionMacro}.

@param [String, Symbol] what description of test or property to inspect on the topic
@return [Riot::Assertion]