class Assertor::Case

Public Class Methods

all() click to toggle source
# File lib/assertor/case.rb, line 9
def self.all
  @@all
end
ignore(aCase) click to toggle source
# File lib/assertor/case.rb, line 36
def self.ignore(aCase)
  @@all.delete aCase
end
inherited(klass) click to toggle source
# File lib/assertor/case.rb, line 13
def self.inherited(klass)
  @@all << klass if klass.name
end
run() click to toggle source
# File lib/assertor/case.rb, line 21
def self.run
  passed, failed, errors, exceptions = [], [], [], {}
  tests.each{ |test| run_single_test(test, passed, failed, errors, exceptions) }
  {:passed => passed.sort, :failed => failed.sort, :errors => errors.sort, :exceptions => exceptions}
end
run_all(case_list) click to toggle source
# File lib/assertor/case.rb, line 27
def self.run_all(case_list)
  result = {}
  case_list.each do |c|
    raise ArgumentError.new('Unnamed cases are not accepted in run_all') unless c.name
    result[c.name] = c.run
  end
  result
end
tests() click to toggle source
# File lib/assertor/case.rb, line 17
def self.tests
  instance_methods(false)
end

Private Class Methods

run_single_test(test, passed, failed, errors, exceptions) click to toggle source
# File lib/assertor/case.rb, line 66
def self.run_single_test(test, passed, failed, errors, exceptions)
  begin
    new.send test
    passed << test.to_s
  rescue Assertor::AssertFailedException => e
    failed << test.to_s
    exceptions[test.to_s] = e
  rescue Exception => e
    errors << test.to_s
    exceptions[test.to_s] = e
  end
end

Public Instance Methods

assert(condition, msg='') click to toggle source
# File lib/assertor/case.rb, line 40
def assert(condition, msg='')
  raise_failure(msg) unless condition
end
assert_equals(a, b) click to toggle source
# File lib/assertor/case.rb, line 48
def assert_equals(a, b)
  assert(a==b, "Expected #{a} to be equal to #{b}")
end
assert_not(condition, msg='') click to toggle source
# File lib/assertor/case.rb, line 44
def assert_not(condition, msg='')
  assert(!condition, msg)
end
assert_raises(klass = Exception, msg=nil) { || ... } click to toggle source
# File lib/assertor/case.rb, line 52
def assert_raises(klass = Exception, msg=nil)
  raise_failure('Block expected') unless block_given?
  begin
    yield
  rescue Exception => e
    raise_failure("Expected #{klass} to be raised, got #{e.class}") unless e.is_a? klass
    raise_failure("Expected message to be '#{msg}', got '#{e.message}'") unless msg.nil? or e.message == msg
    return
  end
  raise_failure('Exception expected')
end

Private Instance Methods

raise_failure(msg) click to toggle source
# File lib/assertor/case.rb, line 79
def raise_failure(msg)
  raise Assertor::AssertFailedException.new(msg)
end