test_equality_with_lcs

Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.

Let's say you want to test two strings: @string1 = "Hello World!" @string2 = "Hello Bob!"

Unit tests: class ClassName < Test::Unit::TestCase include TestEqualityWithLCS::Unit

def test_something
assert_equal_with_lcs @string1, @string2
end

end

and

Spec tests: define "Something" do include TestEqualityWithLCS::Spec

it "matches" do
@string1.should be_equal_with_lcs(@string2)
end

end

result in the output:

' ! ! ' 'Hello World!' 'Hello Bob !'

  • without the quotes though. I added them to bring attention to the included whitespace.

Dependencies

diff-lcs ( http://rubyforge.org/projects/ruwiki/ ) colored ( http://errtheblog.com/ )

Installation

  1. Require the gem
  2. Install the dependant gems
  3. Require the necessary lib for your framework
  4. include the appropriate module for your testing framework
  • TestWithLCS::Spec for Rspec
  • TestWithLCS::Unit for Test/Unit

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don't break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

Copyright (c) 2009 Scott Noel-Hemming. See LICENSE for details.