require 'test/unit'
require 'delegate'

class DelegateClassExample < DelegateClass(Object)
end

class TestDelegateClass < Test::Unit::TestCase
  def test_array_subtraction
    obj = DelegateClassExample.new(Object.new)
    assert_equal([], [obj] - [obj])
  end

  def test_nested_array_subtraction
    obj = DelegateClassExample.new(Object.new)
    assert_equal([], [[obj]] - [[obj]])
  end

  def test_alternate_test_nested_array_subtraction
    obj = DelegateClassExample.new(Object.new)
    array = [[obj]]
    assert_equal([], array - array)
  end
end