Sha256: 431a7ac55581455036cb55234bd848d4bdd33b6de32369593ddb60959f7b1bf5
Contents?: true
Size: 1.18 KB
Versions: 3
Compression:
Stored size: 1.18 KB
Contents
#!/usr/bin/env ruby require 'test/unit' require 'spruz' module Spruz class TestSpruzMemoize < Test::Unit::TestCase class FooBar def foo(*a) @@foo ||= 0 @@foo += 1 end memoize_method :foo def bar(*a) @@bar ||= 0 @@bar += 1 end memoize_function :bar end def test_foo fb1 = FooBar.new fb2 = FooBar.new assert_equal 1, fb1.foo(1, 2) assert_equal 2, fb2.foo(1, 2) assert_equal 3, fb1.foo(1, 2, 3) assert_equal 4, fb2.foo(1, 2, 3) assert_equal 1, fb1.foo(1, 2) assert_equal 2, fb2.foo(1, 2) FooBar.memoize_cache_clear assert_equal 5, fb1.foo(1, 2) assert_equal 6, fb2.foo(1, 2) assert_equal 5, fb1.foo(1, 2) assert_equal 6, fb2.foo(1, 2) end def test_bar fb1 = FooBar.new fb2 = FooBar.new assert_equal 1, fb1.bar(1, 2) assert_equal 1, fb2.bar(1, 2) assert_equal 2, fb1.bar(1, 2, 3) assert_equal 2, fb2.bar(1, 2, 3) assert_equal 1, fb1.bar(1, 2) assert_equal 1, fb2.bar(1, 2) FooBar.memoize_cache_clear assert_equal 3, fb1.bar(1, 2) assert_equal 3, fb2.bar(1, 2) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spruz-0.2.13 | tests/spruz_memoize_test.rb |
spruz-0.2.12 | tests/spruz_memoize_test.rb |
spruz-0.2.11 | tests/test_spruz_memoize.rb |