Class: Test::Unit::TestSuiteCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/test/unit/test-suite-creator.rb

Overview

:nodoc:

Class Method Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (TestSuiteCreator) initialize(test_case)

Returns a new instance of TestSuiteCreator



11
12
13
# File 'lib/test/unit/test-suite-creator.rb', line 11

def initialize(test_case)
  @test_case = test_case
end

Class Method Details

+ (Boolean) test_method?(test_case, method_name)

Returns:

  • (Boolean)


12
13
14
15
# File 'lib/test/unit/test-suite-creator.rb', line 12

def test_method?(test_case, method_name)
  /\Atest./ =~ method_name.to_s or
    test_case.find_attribute(method_name, :test)
end

Instance Method Details

- (Object) create



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/test/unit/test-suite-creator.rb', line 15

def create
  suite = TestSuite.new(@test_case.name, @test_case)
  collect_test_names.each do |test_name|
    data_sets = @test_case.attributes(test_name)[:data]
    if data_sets
      data_sets.each do |data_set|
        data_set = data_set.call if data_set.respond_to?(:call)
        data_set.each do |label, data|
          append_test(suite, test_name) do |test|
            test.assign_test_data(label, data)
          end
        end
      end
    else
      append_test(suite, test_name)
    end
  end
  append_test(suite, "default_test") if suite.empty?
  suite
end