[llvm] r300312 - Add more test cases for StringRef::edit_distance

Alex Denisov via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 01:34:33 PDT 2017


Author: alexdenisov
Date: Fri Apr 14 03:34:32 2017
New Revision: 300312

URL: http://llvm.org/viewvc/llvm-project?rev=300312&view=rev
Log:
Add more test cases for StringRef::edit_distance

Example strings taken from here: http://www.let.rug.nl/~kleiweg/lev/


Modified:
    llvm/trunk/unittests/ADT/StringRefTest.cpp

Modified: llvm/trunk/unittests/ADT/StringRefTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/StringRefTest.cpp?rev=300312&r1=300311&r2=300312&view=diff
==============================================================================
--- llvm/trunk/unittests/ADT/StringRefTest.cpp (original)
+++ llvm/trunk/unittests/ADT/StringRefTest.cpp Fri Apr 14 03:34:32 2017
@@ -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) {




More information about the llvm-commits mailing list