Sha256: 96eebb226e777518604233db82207ddf0a854e95f912fc6244d007ecc9793fc0

Contents?: true

Size: 688 Bytes

Versions: 16

Compression:

Stored size: 688 Bytes

Contents

require 'facets/module/op.rb'
require 'test/unit'

class TestModuleOperators < Test::Unit::TestCase

  module A
    def x; "x"; end
    def z; "zA"; end
  end

  module B
    def y; "y"; end
    def z; "zB"; end
  end

  Q = A + B
  R = A - B
  Z = A * { :x => :y }

  def test_add
    assert(Q)
    Q.extend Q
    assert_equal(  "x", Q.x )
    assert_equal(  "y", Q.y )
    assert_equal( "zB", Q.z )
  end

  def test_minus
    assert(R)
    R.extend R
    assert_equal( "x", R.x )
    assert_raises(NoMethodError){ R.z }
  end

  def test_rename
    assert(Z)
    Z.extend Z
    assert_raise(NoMethodError){ Z.x }
    assert_equal(  "x", Z.y )
    assert_equal( "zA", Z.z )
  end

end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
facets-2.8.4 test/core/module/test_op.rb
facets-2.8.3 test/core/module/test_op.rb
facets-2.8.2 test/core/module/test_op.rb
facets-2.8.1 test/core/module/test_op.rb
facets-2.8.0 test/core/module/test_op.rb
facets-2.7.0 test/core/module/test_op.rb
facets-2.6.0 test/core/module/test_op.rb
facets-2.4.0 test/module/test_op.rb
facets-2.4.1 test/module/test_op.rb
facets-2.4.2 test/core/module/test_op.rb
facets-2.4.4 test/core/module/test_op.rb
facets-2.4.3 test/core/module/test_op.rb
facets-2.5.1 test/core/module/test_op.rb
facets-2.5.0 test/core/module/test_op.rb
facets-2.4.5 test/core/module/test_op.rb
facets-2.5.2 test/core/module/test_op.rb