def assert_raises(expected=StandardError)
      begin
        yield
      rescue => actual
        return actual if actual.kind_of?(expected)
        raise Failure.new("Failure: Unexpected Exception", expected, actual)
      end
      raise Failure.new("Failure: No Exception", expected, "Nothing raised.")
    end
def assert_raises(expected=StandardError)
      begin
        yield
      rescue => actual
        return actual if actual.kind_of?(expected)
        raise Failure.new("Failure: Unexpected Exception", expected, actual)
      end
      raise Failure.new("Failure: No Exception", expected, "Nothing raised.")
    end
Succeeds if it catches an error AND that error is
 a `kind_of?` the `expected` error. Fails otherwise.