Use should == instead of equal. == is equality, equal is object
identity. You very rarely want to use equal.
>> "foo".equal? "foo"
=> false
>> "foo" == "foo"
=> true
Pat
On Mar 9, 2009, at 10:18 AM, James Byrne wrote:
I must be missing something obvious here but I cannot seem to see it.
I have this step definition:
When /entity named "(.*)" has a legal name "(.*)"/ do |name, legal|
myentity = Entity.find_by_entity_common_name!(name.hll_keycase)
myentity.entity_legal_name.should equal legal.hll_keycase
end
Which fails with this:
And the entity named "Myuser" has a legal name "Myuser Legal Name"
# features/app/models/entities/step_definitions/entity_steps.rb:20
expected #<ActiveSupport::Multibyte::Chars:0x2b4bb29e73d8
@wrapped_string="myuser legal name">, got "myuser legal name" (using
.equal?)
which to me says that I got what I expected (myuser legal name) but
which fails the equality test nonetheless.
However, if I switch the test to this:
assert_equal(myentity.entity_legal_name,legal.hll_keycase)
Then the step definition passes.
--
Posted via http://www.ruby-forum.com/.
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users