Sha256: 5fad9a236ffbf9b88d0274a01e447dd454f601c1eb6f5dff7fd5492f86f06845

Contents?: true

Size: 645 Bytes

Versions: 4

Compression:

Stored size: 645 Bytes

Contents

# Test facets/memoize.rb

require 'facets/memoize.rb'
require 'test/unit'

class TC_Memoize < Test::Unit::TestCase

  class T
    def initialize(a)
      @a = a
    end
    def a
      "#{@a ^ 3 + 4}"
    end
    memoize :a
  end


  def setup
    @t1 = T.new(1)
    @t2 = T.new(2)
    @t3 = T.new(3)
  end

  def test_memoize_gives_correct_value
    assert_equal( @t1.a, "6" )
    assert_equal( @t2.a, "5" )
    assert_equal( @t3.a, "4" )
  end

  def test_memoize_returns_identical_objects
    assert_equal( @t1.a.__id__, @t1.a.__id__ )
    assert_equal( @t2.a.__id__, @t2.a.__id__ )
    assert_equal( @t3.a.__id__, @t3.a.__id__ )
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
facets-2.6.0 test/more/test_memoize.rb
facets-2.5.0 test/more/test_memoize.rb
facets-2.5.1 test/more/test_memoize.rb
facets-2.5.2 test/more/test_memoize.rb