PageRenderTime 82ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

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

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