Class: Assertor::Case

Inherits:
Object
  • Object
show all
Defined in:
lib/assertor/case.rb

Constant Summary collapse

@@all =
[]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.allObject



9
10
11
# File 'lib/assertor/case.rb', line 9

def self.all
  @@all
end

.ignore(aCase) ⇒ Object



36
37
38
# File 'lib/assertor/case.rb', line 36

def self.ignore(aCase)
  @@all.delete aCase
end

.inherited(klass) ⇒ Object



13
14
15
# File 'lib/assertor/case.rb', line 13

def self.inherited(klass)
  @@all << klass if klass.name
end

.runObject



21
22
23
24
25
# 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) ⇒ Object



27
28
29
30
31
32
33
34
# 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

.testsObject



17
18
19
# File 'lib/assertor/case.rb', line 17

def self.tests
  instance_methods(false)
end

Instance Method Details

#assert(condition, msg = '') ⇒ Object



40
41
42
# File 'lib/assertor/case.rb', line 40

def assert(condition, msg='')
  raise_failure(msg) unless condition
end

#assert_equals(a, b) ⇒ Object



48
49
50
# 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 = '') ⇒ Object



44
45
46
# File 'lib/assertor/case.rb', line 44

def assert_not(condition, msg='')
  assert(!condition, msg)
end

#assert_raises(klass = Exception, msg = nil) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
# 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