Sha256: 1e6be67d2007b83aed01e921eaf9c03618449f37ca3736f94fb26a518419be14

Contents?: true

Size: 717 Bytes

Versions: 1

Compression:

Stored size: 717 Bytes

Contents


require 'test/unit'
require 'carat/notcopyable'


# fixture

class Foo
  include NotCopyable
end

class Bar < Foo
end

class Foo2
end


# test

class TC_NotCopyable < Test::Unit::TestCase

  def test_dup
    f = Foo.new
    assert_raises(TypeError) do
      g = f.dup
    end
  end

  def test_dup_derived
    f = Bar.new
    assert_raises(TypeError) do
      g = f.dup
    end
  end

  def test_dup_okay
    f = Foo2.new
    g = f.dup
  end

  def test_clone
    f = Foo.new
    assert_raises(TypeError) do
      g = f.clone
    end
  end

  def test_clone_derived
    f = Bar.new
    assert_raises(TypeError) do
      g = f.clone
    end
  end

  def test_clone_okay
    f = Foo2.new
    g = f.clone
  end

end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
carats-0.3.0 test/tc_notcopyable.rb