Method: Bcpm::Tests::Suite#add_cases

Defined in:
lib/bcpm/tests/suite.rb

#add_cases(case_files) ⇒ Object

Adds the given test cases to the suite.



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/bcpm/tests/suite.rb', line 27

def add_cases(case_files)    
  case_files.each do |file|
    code = File.read file
    klass = Class.new Bcpm::Tests::CaseBase
    klass._setup
    begin
      klass.class_eval code, file
    rescue Exception => e
      trace = short_backtrace e.backtrace
      print "Error in test case #{file}\n"
      print "#{e.class.name}: #{e.to_s}\n#{trace.join("\n")}\n\n"
      next
    end
    klass._post_eval
    @tests += klass.tests
    @matches += klass.matches
    @environments += klass.environments
  end
  self
end