1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/testunit/collector/test_objectspace.rb
ntalbott 18ef8f1078 * lib/test/unit/assertions.rb: should not capture an
AssertionFailedError unless explicitly requested.

	* test/testunit/test_assertions.rb: ditto.

	* test/testunit/collector/test_objectspace.rb: fixed a test failure
	  caused by methods being returned in different orders on different
	  platforms by moving test sorting from TestSuite into the locations
	  where suites are constructed. [ruby-talk:83156]

	* lib/test/unit/testcase.rb: ditto.

	* lib/test/unit/testsuite.rb: ditto.

	* lib/test/unit/collector/objectspace.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-02 02:20:42 +00:00

74 lines
2.3 KiB
Ruby

# Author:: Nathaniel Talbott.
# Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
# License:: Ruby license.
require 'test/unit/collector/objectspace'
module Test
module Unit
module Collector
class TC_ObjectSpace < TestCase
def setup
@tc1 = Class.new(TestCase) do
def test_1
end
def test_2
end
end
@tc2 = Class.new(TestCase) do
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
end
def test_basic_collection
expected = TestSuite.new("name")
expected << @tc2.new('test_0')
expected << @tc1.new('test_1')
expected << @tc1.new('test_2')
assert_equal(expected, ObjectSpace.new(@object_space).collect("name"))
end
def test_filtered_collection
expected = TestSuite.new(ObjectSpace::NAME)
collector = ObjectSpace.new(@object_space)
collector.filter = proc{|test| false}
assert_equal(expected, collector.collect)
expected = TestSuite.new(ObjectSpace::NAME)
expected << @tc2.new('test_0')
expected << @tc1.new('test_1')
expected << @tc1.new('test_2')
collector = ObjectSpace.new(@object_space)
collector.filter = proc{|test| true}
assert_equal(expected, collector.collect)
expected = TestSuite.new(ObjectSpace::NAME)
expected << @tc2.new('test_0')
expected << @tc1.new('test_1')
collector = ObjectSpace.new(@object_space)
collector.filter = proc{|test| ['test_1', 'test_0'].include?(test.method_name)}
assert_equal(expected, collector.collect)
expected = TestSuite.new(ObjectSpace::NAME)
expected << @tc2.new('test_0')
expected << @tc1.new('test_1')
collector = ObjectSpace.new(@object_space)
collector.filter = [proc{|test| test.method_name == 'test_1'}, proc{|test| test.method_name == 'test_0'}]
assert_equal(expected, collector.collect)
end
end
end
end
end