[Ironruby-core] should equal in RubySpecs

Shri Borde Shri.Borde at microsoft.com
Wed Jan 7 14:39:52 EST 2009

I see. should== is value equality, and should+equal is reference equality.

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Michael Letterle
Sent: Wednesday, January 07, 2009 11:26 AM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] should equal in RubySpecs

require 'mspec'
describe "equals" do
  it "compares objects not values" do

    a = "a"
    b = "a"
    c = a

    a.should equal(c)
    a.should_not equal(b)
    a.should == b


On Wed, Jan 7, 2009 at 3:48 AM, Shri Borde <Shri.Borde at microsoft.com<mailto:Shri.Borde at microsoft.com>> wrote:

I noticed this in core\thread\current_spec.rb.

  it "returns the current thread" do

    t = Thread.new { Thread.current }

    t.value.should equal(t)

    Thread.current.should_not equal(t.value)


Is this any different than writing "t.value.should == t"? Is either of them the recommended way? Seems odd to support two ways of writing the exact same thing.



Ironruby-core mailing list
Ironruby-core at rubyforge.org<mailto:Ironruby-core at rubyforge.org>

Michael Letterle
[Polymath Prokrammer]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20090107/8f9abf8e/attachment.html>

More information about the Ironruby-core mailing list