David Chelimsky wrote: > On Jul 8, 2010, at 5:04 AM, Juanma Cervera wrote: > >> end. >> >> FAILS >> >> This fails because the object expected is different from the object >> gotten, and the only difference are the BigDecimal attributes, that are >> different objects, even though they have the same value. > > rspec delegates ==() to the objects being compared. It's up to library > providers and users to override ==() in a way that is sane in a given > context. Assuming a single BigDecimal attr named amount, something like > this: > > def ==(other) > self.attributes.merge(:amount => BigDecimal.new(self.amount.to_s)) == > other.attributes.merge(:amount => BigDecimal.new(other.amount.to_s)) > end > > HTH, > David
Thanks for your answer David, but I think there is a problem. The assertion that fails has nothing to do with the BidDecimal types, but with the created_at and updated_at timestamps I have try this: v = Factory.create(:my_object) f = MyObject.first v.should == f ==> This fails v.amount.should == f.amount ==> This works But... v.updated_at.should == f.updated_at RSpec::Expectations::ExpectationNotMetError: expected: Fri, 09 Jul 2010 06:57:48 UTC +00:00, got: Fri, 09 Jul 2010 06:57:48 UTC +00:00 (using ==) Diff: from /home/jmcervera/.rvm/gems/ruby-1.8.7-p...@rails3/gems/rspec-expectations-2.0.0.beta.15/lib/rspec/expectations/fail_with.rb:29:in `fail_with' from /home/jmcervera/.rvm/gems/ruby-1.8.7-p...@rails3/gems/rspec-expectations-2.0.0.beta.15/lib/rspec/matchers/operator_matcher.rb:39:in `fail_with_message' from /home/jmcervera/.rvm/gems/ruby-1.8.7-p...@rails3/gems/rspec-expectations-2.0.0.beta.15/lib/rspec/matchers/operator_matcher.rb:61:in `__delegate_operator' from /home/jmcervera/.rvm/gems/ruby-1.8.7-p...@rails3/gems/rspec-expectations-2.0.0.beta.15/lib/rspec/matchers/operator_matcher.rb:51:in `eval_match' from /home/jmcervera/.rvm/gems/ruby-1.8.7-p...@rails3/gems/rspec-expectations-2.0.0.beta.15/lib/rspec/matchers/operator_matcher.rb:29:in `==' from (irb):41 -- Posted via http://www.ruby-forum.com/. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users