PageRenderTime 44ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/gems/facets-2.4.5/test/core/module/test_op.rb

https://bitbucket.org/mediashelf/fedora-migrator
Ruby | 44 lines | 35 code | 9 blank | 0 comment | 0 complexity | 680f10cd753f187c7a12ac80cc02f2ab MD5 | raw file
Possible License(s): GPL-3.0, GPL-2.0, IPL-1.0, AGPL-1.0, LGPL-3.0
  1. require 'facets/module/op.rb'
  2. require 'test/unit'
  3. class TestModuleOperators < Test::Unit::TestCase
  4. module A
  5. def x; "x"; end
  6. def z; "zA"; end
  7. end
  8. module B
  9. def y; "y"; end
  10. def z; "zB"; end
  11. end
  12. Q = A + B
  13. R = A - B
  14. Z = A * { :x => :y }
  15. def test_add
  16. assert(Q)
  17. Q.extend Q
  18. assert_equal( "x", Q.x )
  19. assert_equal( "y", Q.y )
  20. assert_equal( "zB", Q.z )
  21. end
  22. def test_minus
  23. assert(R)
  24. R.extend R
  25. assert_equal( "x", R.x )
  26. assert_raises(NoMethodError){ R.z }
  27. end
  28. def test_rename
  29. assert(Z)
  30. Z.extend Z
  31. assert_raise(NoMethodError){ Z.x }
  32. assert_equal( "x", Z.y )
  33. assert_equal( "zA", Z.z )
  34. end
  35. end