Sha256: a4d87935e32ade2c4791b3047b56a2b1d7e377fba91d26a032383dbc9daf55ee

Contents?: true

Size: 649 Bytes

Versions: 6

Compression:

Stored size: 649 Bytes

Contents

# Test facets/memoize.rb

require 'facets/once' #memoize'
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

6 entries across 6 versions & 1 rubygems

Version Path
facets-2.8.4 test/more/test_memoize.rb
facets-2.8.3 test/more/test_memoize.rb
facets-2.8.2 test/more/test_memoize.rb
facets-2.8.1 test/more/test_memoize.rb
facets-2.8.0 test/more/test_memoize.rb
facets-2.7.0 test/more/test_memoize.rb