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