test/test.rb in levenshtein-0.2.0 vs test/test.rb in levenshtein-0.2.1
- old
+ new
@@ -10,10 +10,12 @@
def length
@sequence.length
end
def [](pos)
+ raise "type not allowed [#{pos.inspect}]" unless pos.kind_of?(Fixnum)
+
@sequence[pos]
end
end
class TestElement
@@ -103,23 +105,33 @@
end
end
class TestLevenshteinSlow < Test::Unit::TestCase
def test_erik_veenstra
- assert_equal(7, Levenshtein.levenshtein_distance_slow("erik", "veenstra", nil))
+ assert_equal(7, Levenshtein.distance_slow("erik", "veenstra", nil))
+ assert_equal(7, Levenshtein.distance_slow("veenstra", "erik", nil))
end
- def test_empty_sequence
- assert_equal(0, Levenshtein.levenshtein_distance_slow("", "", nil))
- assert_equal(3, Levenshtein.levenshtein_distance_slow("", "foo", nil))
+ def test_empty_string
+ assert_equal(0, Levenshtein.distance_slow("", "", nil))
+ assert_equal(3, Levenshtein.distance_slow("", "foo", nil))
+ assert_equal(3, Levenshtein.distance_slow("foo", "", nil))
end
- def test_same_sequence
- assert_equal(0, Levenshtein.levenshtein_distance_slow("", "", nil))
- assert_equal(0, Levenshtein.levenshtein_distance_slow("foo", "foo", nil))
+ def test_same_string
+ assert_equal(0, Levenshtein.distance_slow("", "", nil))
+ assert_equal(0, Levenshtein.distance_slow("foo", "foo", nil))
end
def test_threshold
- assert_equal(3, Levenshtein.levenshtein_distance_slow("foo", "foobar", nil))
- assert_equal(nil, Levenshtein.levenshtein_distance_slow("foo", "foobar", 2))
+ assert_equal(3, Levenshtein.distance_slow("foo", "foobar", nil))
+ assert_equal(3, Levenshtein.distance_slow("foo", "foobar", 4))
+ assert_equal(nil, Levenshtein.distance_slow("foo", "foobar", 2))
+ end
+
+ def test_same_head_and_or_tail
+ assert_equal(3, Levenshtein.distance_slow("ab123cd", "abxyzcd", nil))
+ assert_equal(3, Levenshtein.distance_slow("ab123", "abxyz", nil))
+ assert_equal(3, Levenshtein.distance_slow("123cd", "xyzcd", nil))
+ assert_equal(5, Levenshtein.distance_slow("123cd123", "123", nil))
end
end