class Test::Unit::Collector::TC_ObjectSpace

Public Class Methods

name() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 15
def self.name
  "tc_1"
end

Public Instance Methods

empty_suite() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 52
def empty_suite
  TestSuite.new(ObjectSpace::NAME)
end
full_suite(name=ObjectSpace::NAME) click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 46
def full_suite(name=ObjectSpace::NAME)
  expected = TestSuite.new(name)
  expected << (TestSuite.new(@tc1.name) << @tc1.new('test_1') << @tc1.new('test_2'))
  expected << (TestSuite.new(@tc2.name) << @tc2.new('test_0'))
end
setup() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 12
def setup
  @tc1 = Class.new(TestCase) do
    self.test_order = :alphabetic
    def self.name
      "tc_1"
    end
    def test_1
    end
    def test_2
    end
  end

  @tc2 = Class.new(TestCase) do
    self.test_order = :alphabetic
    def self.name
      "tc_2"
    end
    def test_0
    end
  end

  @no_tc = Class.new do
    def test_4
    end
  end

  @object_space = {Class => [@tc1, @tc2, @no_tc], String => ['']}
  def @object_space.each_object(type)
    self[type].each{|item| yield(item) }
  end

  @c = ObjectSpace.new(@object_space)
end
test_0() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 29
def test_0
end
test_1() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 18
def test_1
end
test_2() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 20
def test_2
end
test_4() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 34
def test_4
end
test_basic_collection() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 56
def test_basic_collection
  assert_equal(full_suite("name"), @c.collect("name"))

  @c.filter = []
  assert_equal(full_suite("name"), @c.collect("name"))
end
test_filtered_collection() click to toggle source
# File test-unit-3.3.4/test/collector/test_objectspace.rb, line 63
def test_filtered_collection
  @c.filter = proc{false}
  assert_equal(empty_suite, @c.collect)

  @c.filter = proc{true}
  assert_equal(full_suite, @c.collect)

  @c.filter = proc{nil}
  assert_equal(full_suite, @c.collect)

  @c.filter = [proc{false}, proc{true}]
  assert_equal(empty_suite, @c.collect)

  @c.filter = [proc{true}, proc{false}]
  assert_equal(empty_suite, @c.collect)

  @c.filter = [proc{nil}, proc{false}]
  assert_equal(empty_suite, @c.collect)

  @c.filter = [proc{nil}, proc{true}]
  assert_equal(full_suite, @c.collect)

  expected = TestSuite.new(ObjectSpace::NAME)
  expected << (TestSuite.new(@tc1.name) << @tc1.new('test_1'))
  expected << (TestSuite.new(@tc2.name) << @tc2.new('test_0'))
  @c.filter = proc{|test| ['test_1', 'test_0'].include?(test.method_name)}
  assert_equal(expected, @c.collect)

  expected = TestSuite.new(ObjectSpace::NAME)
  TestSuite.new(@tc1.name) << @tc1.new('test_1')
  TestSuite.new(@tc2.name) << @tc2.new('test_0')
  @c.filter = [proc{|t| t.method_name == 'test_1' ? true : nil},
               proc{|t| t.method_name == 'test_0' ? true : nil},
               proc{false}]
  assert_equal(empty_suite, @c.collect)
end