test_equality_with_lcs 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README +67 -0
- data/Rakefile +71 -0
- data/VERSION +1 -0
- data/lib/test_equality_with_lcs/shared.rb +58 -0
- data/lib/test_equality_with_lcs/spec.rb +28 -0
- data/lib/test_equality_with_lcs/unit.rb +19 -0
- data/lib/test_equality_with_lcs.rb +3 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/test_equality_with_lcs_spec.rb +45 -0
- data/test/assert_equality_with_lcs_test.rb +99 -0
- data/test/test_helper.rb +9 -0
- metadata +101 -0
data/.document
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Scott Noel-Hemming
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
= test_equality_with_lcs
|
2
|
+
|
3
|
+
Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.
|
4
|
+
|
5
|
+
Let's say you want to test two strings:
|
6
|
+
@string1 = "Hello World!"
|
7
|
+
@string2 = "Hello Bob!"
|
8
|
+
|
9
|
+
*Unit tests*:
|
10
|
+
class ClassName < Test::Unit::TestCase
|
11
|
+
include TestWithLCS::Unit
|
12
|
+
|
13
|
+
def test_something
|
14
|
+
assert_equal_with_lcs @string1, @string2
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
and
|
19
|
+
|
20
|
+
*Spec tests*:
|
21
|
+
define "Something" do
|
22
|
+
include TestEqualityWithLCS::Spec
|
23
|
+
|
24
|
+
it "matches" do
|
25
|
+
@string1.should be_equal_with_lcs(@string2)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
result in the output:
|
30
|
+
|
31
|
+
' ! ! '
|
32
|
+
'Hello World!'
|
33
|
+
'Hello Bob !'
|
34
|
+
|
35
|
+
* without the quotes though.
|
36
|
+
I added them to bring attention
|
37
|
+
to the included whitespace.
|
38
|
+
|
39
|
+
== Dependencies
|
40
|
+
|
41
|
+
diff-lcs ( http://rubyforge.org/projects/ruwiki/ )
|
42
|
+
colored ( http://errtheblog.com/ )
|
43
|
+
|
44
|
+
== Installation
|
45
|
+
|
46
|
+
1. Require the gem
|
47
|
+
2. Install the dependant gems
|
48
|
+
2. Require the necessary lib for your framework
|
49
|
+
3. include the appropriate module for your testing framework
|
50
|
+
|
51
|
+
* TestWithLCS::Spec for Rspec
|
52
|
+
* TestWithLCS::Unit for Test/Unit
|
53
|
+
|
54
|
+
== Note on Patches/Pull Requests
|
55
|
+
|
56
|
+
* Fork the project.
|
57
|
+
* Make your feature addition or bug fix.
|
58
|
+
* Add tests for it. This is important so I don't break it in a
|
59
|
+
future version unintentionally.
|
60
|
+
* Commit, do not mess with rakefile, version, or history.
|
61
|
+
(if you want to have your own version, that is fine but
|
62
|
+
bump version in a commit by itself I can ignore when I pull)
|
63
|
+
* Send me a pull request. Bonus points for topic branches.
|
64
|
+
|
65
|
+
== Copyright
|
66
|
+
|
67
|
+
Copyright (c) 2009 Scott Noel-Hemming. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "test_equality_with_lcs"
|
8
|
+
gem.summary = %Q{Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.}
|
9
|
+
gem.description = %Q{Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.}
|
10
|
+
gem.email = "frogstarr78@gmail.com"
|
11
|
+
gem.homepage = "http://github.com/frogstarr78/test_equality_with_lcs"
|
12
|
+
gem.authors = ["Scott Noel-Hemming"]
|
13
|
+
gem.add_development_dependency "rspec"
|
14
|
+
gem.add_development_dependency "diff-lcs"
|
15
|
+
gem.add_development_dependency "colored"
|
16
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
17
|
+
end
|
18
|
+
Jeweler::GemcutterTasks.new
|
19
|
+
rescue LoadError
|
20
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
21
|
+
end
|
22
|
+
|
23
|
+
require 'rake/testtask'
|
24
|
+
Rake::TestTask.new(:test) do |test|
|
25
|
+
test.libs << 'lib' << 'test'
|
26
|
+
test.pattern = 'test/**/*_test.rb'
|
27
|
+
test.verbose = true
|
28
|
+
end
|
29
|
+
|
30
|
+
require 'spec/rake/spectask'
|
31
|
+
Spec::Rake::SpecTask.new(:spec) do |spec|
|
32
|
+
spec.libs << 'lib' << 'spec'
|
33
|
+
spec.spec_files = FileList['spec/**/*_spec.rb']
|
34
|
+
end
|
35
|
+
|
36
|
+
Spec::Rake::SpecTask.new(:rcov) do |spec|
|
37
|
+
spec.libs << 'lib' << 'spec'
|
38
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
39
|
+
spec.rcov = true
|
40
|
+
end
|
41
|
+
|
42
|
+
task :spec => :check_dependencies
|
43
|
+
|
44
|
+
task :default => :test
|
45
|
+
|
46
|
+
require 'rake/rdoctask'
|
47
|
+
Rake::RDocTask.new do |rdoc|
|
48
|
+
if File.exist?('VERSION')
|
49
|
+
version = File.read('VERSION')
|
50
|
+
else
|
51
|
+
version = ""
|
52
|
+
end
|
53
|
+
|
54
|
+
rdoc.rdoc_dir = 'rdoc'
|
55
|
+
rdoc.title = "test_equality_with_lcs #{version}"
|
56
|
+
rdoc.rdoc_files.include('README*')
|
57
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
58
|
+
end
|
59
|
+
|
60
|
+
begin
|
61
|
+
require 'rcov/rcovtask'
|
62
|
+
Rcov::RcovTask.new do |test|
|
63
|
+
test.libs << 'test'
|
64
|
+
test.pattern = 'test/**/*_test.rb'
|
65
|
+
test.verbose = true
|
66
|
+
end
|
67
|
+
rescue LoadError
|
68
|
+
task :rcov do
|
69
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
70
|
+
end
|
71
|
+
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module TestEqualityWithLCS
|
2
|
+
module SharedMethods
|
3
|
+
@@colorize = true
|
4
|
+
def self.included in_class
|
5
|
+
in_class.class.send :define_method, :colorize do
|
6
|
+
@@colorize
|
7
|
+
end
|
8
|
+
|
9
|
+
in_class.class.send :define_method, :colorize= do |color|
|
10
|
+
@@colorize = color
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
def message_for_argument_types string1, string2
|
16
|
+
if string1.is_a? String and string2.is_a? String
|
17
|
+
delegating_to_string_generating_method string1, string2
|
18
|
+
elsif string1.is_a? Array and string2.is_a? Array
|
19
|
+
lcs_message(string1, string2)
|
20
|
+
else
|
21
|
+
raise Test::Unit::AssertionFailedError.new("Comparing different types.")
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def delegating_to_string_generating_method string1, string2
|
26
|
+
seq1 = string1.split "\n"
|
27
|
+
seq2 = string2.split "\n"
|
28
|
+
messages = []
|
29
|
+
(['']*seq1.size).zip(seq1, seq2).each do |junk, line1, line2|
|
30
|
+
messages << lcs_message("#{line1}", "#{line2}")
|
31
|
+
end
|
32
|
+
messages.join "\n"
|
33
|
+
end
|
34
|
+
|
35
|
+
def lcs_message string1, string2
|
36
|
+
message_array = []
|
37
|
+
Diff::LCS.sdiff string1, string2 do |diff|
|
38
|
+
action = diff.action == '=' ? ' ' : diff.action
|
39
|
+
case action
|
40
|
+
when '-'
|
41
|
+
color = :red
|
42
|
+
when '+'
|
43
|
+
color = :green
|
44
|
+
when '!'
|
45
|
+
color = :magenta
|
46
|
+
else
|
47
|
+
color = :white
|
48
|
+
end
|
49
|
+
left = diff.new_element || ' '
|
50
|
+
right = diff.old_element || ' '
|
51
|
+
message_array << [action, left, right].map {|thing| thing.send(@@colorize ? color : :to_s) }
|
52
|
+
end
|
53
|
+
horizontal_diff_array = message_array.transpose
|
54
|
+
horizontal_messages = horizontal_diff_array.map {|diff| diff.join '' }
|
55
|
+
horizontal_messages.join "\n"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module TestEqualityWithLCS
|
2
|
+
module Spec
|
3
|
+
|
4
|
+
class BeEqualWithLCS
|
5
|
+
include SharedMethods
|
6
|
+
def initialize expected
|
7
|
+
@expected = expected
|
8
|
+
end
|
9
|
+
|
10
|
+
def matches? target
|
11
|
+
@target = target
|
12
|
+
@expected == @target
|
13
|
+
end
|
14
|
+
|
15
|
+
def failure_message_for_should
|
16
|
+
message_for_argument_types @expected, @target
|
17
|
+
end
|
18
|
+
|
19
|
+
def failure_message_for_should_not
|
20
|
+
message_for_argument_types @expected, @target
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def be_equal_with_lcs expected
|
25
|
+
BeEqualWithLCS.new expected
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'test/unit/assertions'
|
2
|
+
|
3
|
+
module TestEqualityWithLCS
|
4
|
+
module Unit
|
5
|
+
include SharedMethods
|
6
|
+
def assert_equal_with_lcs string1, string2
|
7
|
+
# depending on the size of the strings
|
8
|
+
# and since we generate the error message
|
9
|
+
# before running the assertion
|
10
|
+
# we want to bypass this behavior for the sake of speed
|
11
|
+
return if string1 == string2
|
12
|
+
|
13
|
+
message = message_for_argument_types string1, string2
|
14
|
+
assert_block message do
|
15
|
+
string1 == string2
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
require 'test_equality_with_lcs'
|
4
|
+
require 'test_equality_with_lcs/spec'
|
5
|
+
require 'spec'
|
6
|
+
require 'spec/autorun'
|
7
|
+
|
8
|
+
Spec::Runner.configure do |config|
|
9
|
+
config.include TestEqualityWithLCS::Spec
|
10
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
2
|
+
|
3
|
+
describe "TestEqualityWithLcs" do
|
4
|
+
it "passes" do
|
5
|
+
'actual'.should be_equal_with_lcs('actual')
|
6
|
+
end
|
7
|
+
|
8
|
+
it "doesn't pass" do
|
9
|
+
'actual'.should_not be_equal_with_lcs('something else so this test will fail and we can test the resulting string')
|
10
|
+
end
|
11
|
+
|
12
|
+
it "get's correct output" do
|
13
|
+
self.class.colorize = false
|
14
|
+
# careful of the whitespace required here.
|
15
|
+
expected_error = "---------------------------------- ---------- --- ----------- + -----------
|
16
|
+
a c t ual
|
17
|
+
something else so this test will fail and we can test the resu lting string"
|
18
|
+
lambda{
|
19
|
+
'actual'.should be_equal_with_lcs('something else so this test will fail and we can test the resulting string')
|
20
|
+
}.should raise_error(Spec::Expectations::ExpectationNotMetError, expected_error)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "get's correct output with multi-line string comparison" do
|
24
|
+
self.class.colorize = false
|
25
|
+
# careful of the whitespace required here.
|
26
|
+
seq1 = "actual
|
27
|
+
ly
|
28
|
+
I
|
29
|
+
didn't want it all
|
30
|
+
on one
|
31
|
+
line"
|
32
|
+
seq2 = "actually I did want it on ...
|
33
|
+
well a couple lines."
|
34
|
+
|
35
|
+
expected_error = " -----------------------
|
36
|
+
actual
|
37
|
+
actually I did want it on ...
|
38
|
+
-- !----------------
|
39
|
+
ly
|
40
|
+
well a couple lines."
|
41
|
+
lambda{
|
42
|
+
seq1.should be_equal_with_lcs(seq2)
|
43
|
+
}.should raise_error(Spec::Expectations::ExpectationNotMetError, expected_error)
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class AssertEqualityWithLCSTest < Test::Unit::TestCase
|
4
|
+
def test_my_failing_message
|
5
|
+
seq1 = %w(a b c e h j l \ m n p)
|
6
|
+
seq2 = %w(b c d e f j k l m r s t)
|
7
|
+
begin
|
8
|
+
self.class.colorize = true
|
9
|
+
assert_equal_with_lcs seq1, seq2
|
10
|
+
rescue Test::Unit::AssertionFailedError => received
|
11
|
+
expected = '-'.red << ' '.white << ' '.white << '+'.green << ' '.white << '!'.magenta << ' '.white << '+'.green << ' '.white << '-'.red << ' '.white << '!'.magenta << '!'.magenta << '+'.green << "\n" <<
|
12
|
+
' '.red << 'b'.white << 'c'.white << 'd'.green << 'e'.white << 'f'.magenta << 'j'.white << 'k'.green << 'l'.white << ' '.red << 'm'.white << 'r'.magenta << 's'.magenta << 't'.green << "\n" <<
|
13
|
+
'a'.red << 'b'.white << 'c'.white << ' '.green << 'e'.white << 'h'.magenta << 'j'.white << ' '.green << 'l'.white << ' '.red << 'm'.white << 'n'.magenta << 'p'.magenta << ' '.green
|
14
|
+
assert_equal expected, received.message
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_my_failing_message_on_multi_line_strings
|
19
|
+
seq1 = %Q|abce
|
20
|
+
hjl
|
21
|
+
\ mnp
|
22
|
+
q\tu
|
23
|
+
v
|
24
|
+
y
|
25
|
+
xz|
|
26
|
+
seq2 = %Q|bcd
|
27
|
+
efjklmr
|
28
|
+
st|
|
29
|
+
begin
|
30
|
+
self.class.colorize = false
|
31
|
+
assert_equal_with_lcs seq1, seq2
|
32
|
+
rescue Test::Unit::AssertionFailedError => received
|
33
|
+
received_messages = received.message.split "\n"
|
34
|
+
|
35
|
+
assert_equal '- !', received_messages[0]
|
36
|
+
assert_equal ' bcd', received_messages[1]
|
37
|
+
assert_equal 'abce', received_messages[2]
|
38
|
+
|
39
|
+
assert_equal '!+ + ++', received_messages[3]
|
40
|
+
assert_equal 'efjklmr', received_messages[4]
|
41
|
+
assert_equal 'h j l ', received_messages[5]
|
42
|
+
|
43
|
+
assert_equal '!!--', received_messages[6]
|
44
|
+
assert_equal 'st ', received_messages[7]
|
45
|
+
assert_equal ' mnp', received_messages[8]
|
46
|
+
|
47
|
+
assert_equal "---", received_messages[9]
|
48
|
+
assert_equal " ", received_messages[10]
|
49
|
+
assert_equal "q\tu", received_messages[11]
|
50
|
+
|
51
|
+
assert_equal '-', received_messages[12]
|
52
|
+
assert_equal ' ', received_messages[13]
|
53
|
+
assert_equal 'v', received_messages[14]
|
54
|
+
|
55
|
+
assert_equal '-', received_messages[15]
|
56
|
+
assert_equal ' ', received_messages[16]
|
57
|
+
assert_equal 'y', received_messages[17]
|
58
|
+
|
59
|
+
assert_equal '--', received_messages[18]
|
60
|
+
assert_equal ' ', received_messages[19]
|
61
|
+
assert_equal 'xz', received_messages[20]
|
62
|
+
ensure
|
63
|
+
self.class.colorize = true
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_me_failing_again
|
68
|
+
seq1 = %w(a b c e h j l \ m n p)
|
69
|
+
seq2 = %w(b c d e f j k l m r s t)
|
70
|
+
assert_raises Test::Unit::AssertionFailedError do
|
71
|
+
assert_equal_with_lcs seq1, seq2
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_no_passing
|
76
|
+
seq1 = %w(a b c e h j l \ m n p)
|
77
|
+
seq2 = %w(a b c e h j l \ m n p)
|
78
|
+
assert_nothing_raised {
|
79
|
+
assert_equal_with_lcs seq1, seq2
|
80
|
+
}
|
81
|
+
end
|
82
|
+
|
83
|
+
def test_string_lcs_array
|
84
|
+
# though the underlying library supports it,
|
85
|
+
# we don't want to allow that kind of messiness
|
86
|
+
# in our testing framework.
|
87
|
+
seq1 = %q(abcehjl mnp)
|
88
|
+
seq2 = %w(a b c e h j l \ m n p)
|
89
|
+
assert_raises Test::Unit::AssertionFailedError do
|
90
|
+
assert_equal_with_lcs seq1, seq2
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_colorize
|
95
|
+
assert_equal true, self.class.colorize
|
96
|
+
self.class.colorize = false
|
97
|
+
assert_equal false, self.class.colorize
|
98
|
+
end
|
99
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
3
|
+
require 'test_equality_with_lcs'
|
4
|
+
require 'test_equality_with_lcs/unit'
|
5
|
+
require 'test/unit'
|
6
|
+
|
7
|
+
class Test::Unit::TestCase
|
8
|
+
include TestEqualityWithLCS::Unit
|
9
|
+
end
|
metadata
ADDED
@@ -0,0 +1,101 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: test_equality_with_lcs
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Scott Noel-Hemming
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-11-08 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rspec
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: diff-lcs
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: colored
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
44
|
+
version:
|
45
|
+
description: Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.
|
46
|
+
email: frogstarr78@gmail.com
|
47
|
+
executables: []
|
48
|
+
|
49
|
+
extensions: []
|
50
|
+
|
51
|
+
extra_rdoc_files:
|
52
|
+
- LICENSE
|
53
|
+
- README
|
54
|
+
files:
|
55
|
+
- .document
|
56
|
+
- .gitignore
|
57
|
+
- LICENSE
|
58
|
+
- README
|
59
|
+
- Rakefile
|
60
|
+
- VERSION
|
61
|
+
- lib/test_equality_with_lcs.rb
|
62
|
+
- lib/test_equality_with_lcs/shared.rb
|
63
|
+
- lib/test_equality_with_lcs/spec.rb
|
64
|
+
- lib/test_equality_with_lcs/unit.rb
|
65
|
+
- spec/spec_helper.rb
|
66
|
+
- spec/test_equality_with_lcs_spec.rb
|
67
|
+
- test/assert_equality_with_lcs_test.rb
|
68
|
+
- test/test_helper.rb
|
69
|
+
has_rdoc: true
|
70
|
+
homepage: http://github.com/frogstarr78/test_equality_with_lcs
|
71
|
+
licenses: []
|
72
|
+
|
73
|
+
post_install_message:
|
74
|
+
rdoc_options:
|
75
|
+
- --charset=UTF-8
|
76
|
+
require_paths:
|
77
|
+
- lib
|
78
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: "0"
|
83
|
+
version:
|
84
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: "0"
|
89
|
+
version:
|
90
|
+
requirements: []
|
91
|
+
|
92
|
+
rubyforge_project:
|
93
|
+
rubygems_version: 1.3.5
|
94
|
+
signing_key:
|
95
|
+
specification_version: 3
|
96
|
+
summary: Compare two strings, or arrays, and get failed results back in an easy to distinguish LCS output.
|
97
|
+
test_files:
|
98
|
+
- spec/test_equality_with_lcs_spec.rb
|
99
|
+
- spec/spec_helper.rb
|
100
|
+
- test/test_helper.rb
|
101
|
+
- test/assert_equality_with_lcs_test.rb
|