PageRenderTime 46ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/gems/facets-2.4.5/test/more/test_classmethods.rb

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 56 lines | 42 code | 11 blank | 3 comment | 0 complexity | 85cb909a4aa92aecfd785f1f0924dbe6 MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, IPL-1.0, AGPL-1.0, LGPL-3.0
  1. # Test facets/classmethods.rb.
  2. require 'facets/classmethods.rb'
  3. require 'test/unit'
  4. class TC_ClassMethods < Test::Unit::TestCase
  5. # fixture
  6. module N
  7. class_methods do
  8. def n ; 43 ; end
  9. def s ; self ; end
  10. end
  11. end
  12. class X
  13. include N
  14. def n ; 11 ; end
  15. end
  16. module K
  17. include N
  18. class_methods do
  19. def n ; super + 1 ; end
  20. end
  21. end
  22. class Z
  23. include K
  24. end
  25. # tests
  26. def test_knows_self
  27. assert_equal( 43, N.n )
  28. assert_equal( N, N.s )
  29. end
  30. def test_included
  31. assert_equal( 43, X.n )
  32. assert_equal( X, X.s )
  33. end
  34. def test_instance_level
  35. assert_equal( 11, X.new.n )
  36. end
  37. def test_included_and_redefined
  38. assert_equal( 44, K.n )
  39. assert_equal( K, K.s )
  40. end
  41. def test_included_again
  42. assert_equal( 44, Z.n )
  43. assert_equal( Z, Z.s )
  44. end
  45. end