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 ( rubyforge.org/projects/ruwiki/ ) colored ( 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 © 2009 Scott Noel-Hemming. See LICENSE for details.