Don't rely on implementation-specific order-dependence of array comparisons in unit tests

Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
This commit is contained in:
Nick Sieger
2010-07-13 06:14:26 +08:00
committed by Aaron Patterson
parent 041e47b326
commit ea7f1fb026

View File

@@ -1,5 +1,6 @@
require 'abstract_unit'
require 'active_support/core_ext/class'
require 'set'
class ClassTest < Test::Unit::TestCase
class Parent; end
@@ -12,16 +13,16 @@ class ClassTest < Test::Unit::TestCase
class C < B; end
def test_descendants
assert_equal [Foo, Bar, Baz, A, B, C], Parent.descendants
assert_equal [Bar, Baz], Foo.descendants
assert_equal [Foo, Bar, Baz, A, B, C].to_set, Parent.descendants.to_set
assert_equal [Bar, Baz].to_set, Foo.descendants.to_set
assert_equal [Baz], Bar.descendants
assert_equal [], Baz.descendants
end
def test_subclasses
assert_equal [Foo, A], Parent.subclasses
assert_equal [Foo, A].to_set, Parent.subclasses.to_set
assert_equal [Bar], Foo.subclasses
assert_equal [Baz], Bar.subclasses
assert_equal [], Baz.subclasses
end
end
end