Sorry. Test comment is incorrect. This is intentional test. require 'rspec'
class Ary attr_reader :ary def initialize @count = 0 @ary = [] increment end def increment @ary << @count @count += 1 end end describe Ary, "#ary" do subject{ Ary.new } it "should increment the ary" do # expect { subject.increment }.to change(subject, :ary).from([0]).to([0,1]) subject.ary.should == [0] subject.increment subject.ary.should == [0,1] end end On Mon, Mar 21, 2011 at 10:41 AM, niku -E:) <n...@niku.name> wrote: > I understand that "expect{}.to change()" can't test "destructive method". > So, I should write test like that. correct? > > require 'rspec' > > class Ary > attr_reader :ary > def initialize > @count = 0 > @ary = [] > increment > end > def increment > @ary << @count > @count += 1 > end > end > > describe Ary, "#ary" do > subject{ Ary.new } > it "should increment the ary" do > # expect { subject.increment }.to change(subject, :ary).from([]).to([0]) > subject.ary.should == [0] > subject.increment > subject.ary.should == [0,1] > end > end > > On Wed, Mar 16, 2011 at 2:41 AM, Justin Ko <jko...@gmail.com> wrote: >> >> >> On Tue, Mar 15, 2011 at 10:08 AM, Justin Ko <jko...@gmail.com> wrote: >>> >>> >>> On Tue, Mar 15, 2011 at 8:57 AM, niku -E:) <n...@niku.name> wrote: >>>> >>>> Hi. >>>> >>>> I'm using ruby1.9.2 and rspec2.5.1 >>>> I want to use "expect{}.to change().from().to()" like this >>>> >>>> https://gist.github.com/870897 >>>> >>>> When Int class, it passed. >>>> When Ary class, it failed. >>>> >>>> Why was Ary test failed and How do I pass this test? >>>> >>>> regards. >>>> _______________________________________________ >>>> rspec-users mailing list >>>> rspec-users@rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/rspec-users >>> >>> Your Ary @ary variable is initialized as "[]". So of course calling >>> increment on it will change it to "[0]". For your spec to pass, initialize >>> it as "[0]" >> >> I'm completely wrong. Didn't read your code properly. Where is the delete >> link? :) > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users