Sha256: 590048ac7ea02445bf7754d7a1ca83b53848349b7323956a8e87903d4cf22eae
Contents?: true
Size: 1.59 KB
Versions: 1
Compression:
Stored size: 1.59 KB
Contents
require 'ae/core_ext' # = Assertion # # "The reserve of modern assertions is sometimes pushed to extremes, # in which the fear of being contradicted leads the writer to strip # himself of almost all sense and meaning." # -- Sir Winston Churchill (1874 - 1965) # # This is the underlying Exception class of the whole system. # class Assertion < Exception @count = 0 @fails = 0 class << self attr_accessor :count attr_accessor :fails # def test(test, options={}) if test increment(true) else framework_flunk(options) end test end # #def self.framework_assert(options={}) #end # This method can be replaced to support alternate frameworks. # The intent of the methods is to raise the assertion failure # class used. def framework_flunk(options={}) message = options.delete(:message) fail ::Assertion.new(message, options) end # Increment assertion counts. If +pass+ is true then only +@count+ # is increased. If +pass+ if false then both +@count+ and +@fails+ # are incremented. def increment(pass) @count += 1 @fails += 1 unless pass end # Reset counts. def recount f, c = @fails, @count @count = 0 @fails = 0 return f, c end end # def initialize(message=nil, options={}) super(message) backtrace = options[:backtrace] set_backtrace(backtrace) if backtrace self.class.increment(false) end # def to_s 'fail ' + super end end # Copyright (c) 2008, 2010 Thomas Sawyer
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ae-1.5.0 | lib/ae/assertion.rb |