]> granicus.if.org Git - llvm/commitdiff
Add more test cases for StringRef::edit_distance
authorAlex Denisov <1101.debian@gmail.com>
Fri, 14 Apr 2017 08:34:32 +0000 (08:34 +0000)
committerAlex Denisov <1101.debian@gmail.com>
Fri, 14 Apr 2017 08:34:32 +0000 (08:34 +0000)
Example strings taken from here: http://www.let.rug.nl/~kleiweg/lev/

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300312 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ADT/StringRefTest.cpp

index bd9387837df40db42d2df27ba7d02ae787706d61..e308f2d7c64b05c164187c8da33384fd44098660 100644 (file)
@@ -504,8 +504,22 @@ TEST(StringRefTest, Count) {
 }
 
 TEST(StringRefTest, EditDistance) {
-  StringRef Str("hello");
-  EXPECT_EQ(2U, Str.edit_distance("hill"));
+  StringRef Hello("hello");
+  EXPECT_EQ(2U, Hello.edit_distance("hill"));
+
+  StringRef Industry("industry");
+  EXPECT_EQ(6U, Industry.edit_distance("interest"));
+
+  StringRef Soylent("soylent green is people");
+  EXPECT_EQ(19U, Soylent.edit_distance("people soiled our green"));
+  EXPECT_EQ(26U, Soylent.edit_distance("people soiled our green",
+                                      /* allow replacements = */ false));
+  EXPECT_EQ(9U, Soylent.edit_distance("people soiled our green",
+                                      /* allow replacements = */ true,
+                                      /* max edit distance = */ 8));
+  EXPECT_EQ(53U, Soylent.edit_distance("people soiled our green "
+                                       "people soiled our green "
+                                       "people soiled our green "));
 }
 
 TEST(StringRefTest, Misc) {