Sha256: 577c8876ce44164db9413b54c2a787b09f8e9456959fb24342260029dd6232f9

Contents?: true

Size: 1.09 KB

Versions: 15

Compression:

Stored size: 1.09 KB

Contents

require 'helper'

class TestStateEquivalent < Test::Unit::TestCase

  context "Mixing-in StateEquivalent" do
    
    class TestClass
      def initialize(v, w)
        @value1 = v
        @value2 = w
      end
      attr_reader :value1, :value2
      include ModalSupport::StateEquivalent
    end

    should "provide equality" do
      assert_equal TestClass.new(11,22), TestClass.new(11,22)
      assert_equal TestClass.new(11,nil), TestClass.new(11,nil)
      assert_not_equal TestClass.new(11,22), TestClass.new(11,23)
      assert_not_equal TestClass.new(11,22), 11
      assert TestClass.new(11,22).eql?(TestClass.new(11,22))
      assert TestClass.new(11,nil).eql?(TestClass.new(11,nil))
      assert !TestClass.new(11,22).eql?(TestClass.new(11,23))
      assert !TestClass.new(11,22).eql?(11)
    end
    
    should "provide hash consistent with equality" do
      assert_equal TestClass.new(11,22).hash, TestClass.new(11,22).hash
      assert_equal TestClass.new(11,nil).hash, TestClass.new(11,nil).hash
      assert_not_equal TestClass.new(11,22).hash, TestClass.new(11,23).hash
    end
    
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
modalsupport-0.9.2 test/test_state_equivalent.rb
modalsupport-0.9.1 test/test_state_equivalent.rb
modalsupport-0.9.0 test/test_state_equivalent.rb
modalsupport-0.8.3 test/test_state_equivalent.rb
modalsupport-0.8.2 test/test_state_equivalent.rb
modalsupport-0.8.1 test/test_state_equivalent.rb
modalsupport-0.8.0 test/test_state_equivalent.rb
modalsupport-0.7.1 test/test_state_equivalent.rb
modalsupport-0.7.0 test/test_state_equivalent.rb
modalsupport-0.6.0 test/test_state_equivalent.rb
modalsupport-0.5.2 test/test_state_equivalent.rb
modalsupport-0.5.1 test/test_state_equivalent.rb
modalsupport-0.5.0 test/test_state_equivalent.rb
modalsupport-0.4.0 test/test_state_equivalent.rb
modalsupport-0.3.0 test/test_state_equivalent.rb