1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
# encoding: utf-8
require 'spec_helper'
describe Memoizable::MethodBuilder, '#original_method' do
subject { object.original_method }
let(:object) { described_class.new(descendant, method_name, freezer) }
let(:method_name) { :foo }
let(:freezer) { lambda { |object| object.freeze } }
let(:descendant) do
Class.new do
def initialize
@foo = 0
end
def foo
@foo += 1
end
end
end
it { should be_instance_of(UnboundMethod) }
it 'returns the original method' do
# original method is not memoized
method = subject.bind(descendant.new)
expect(method.call).to_not be(method.call)
end
end
|