def assert(*args, &block)
      # to notice (and fail fast from) odd recursion problem
      raise "Reentry bug while trying to assert(#{args.join(', ')})" if (@_inside_wrong_assert ||= nil)
      @_inside_wrong_assert = true

      if block.nil?
        begin
          super(*args) # if there's a framework assert method (sans block), then call it
        rescue NoMethodError
          # note: we're not raising an AssertionFailedError because this is a programmer error, not a failed assertion
          raise "You must pass a block to Wrong's assert and deny methods"
        end
      else
        aver(:assert, *args, &block)
      end
    ensure
      @_inside_wrong_assert = false
    end
def assert(*args, &block)
      # to notice (and fail fast from) odd recursion problem
      raise "Reentry bug while trying to assert(#{args.join(', ')})" if (@_inside_wrong_assert ||= nil)
      @_inside_wrong_assert = true

      if block.nil?
        begin
          super(*args) # if there's a framework assert method (sans block), then call it
        rescue NoMethodError
          # note: we're not raising an AssertionFailedError because this is a programmer error, not a failed assertion
          raise "You must pass a block to Wrong's assert and deny methods"
        end
      else
        aver(:assert, *args, &block)
      end
    ensure
      @_inside_wrong_assert = false
    end
Actual signature: assert(explanation = nil, depth = 0, &block)