class ClassTest

Public Instance Methods

test_descendants() click to toggle source
# File activesupport/test/core_ext/class_test.rb, line 17
def test_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
test_descendants_excludes_singleton_classes() click to toggle source
# File activesupport/test/core_ext/class_test.rb, line 31
def test_descendants_excludes_singleton_classes
  klass = Parent.new.singleton_class
  refute Parent.descendants.include?(klass), "descendants should not include singleton classes"
end
test_subclasses() click to toggle source
# File activesupport/test/core_ext/class_test.rb, line 24
def test_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
test_subclasses_excludes_singleton_classes() click to toggle source
# File activesupport/test/core_ext/class_test.rb, line 36
def test_subclasses_excludes_singleton_classes
  klass = Parent.new.singleton_class
  refute Parent.subclasses.include?(klass), "subclasses should not include singleton classes"
end