Add more test cases for StringRef::edit_distance

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

llvm-svn: 300312
This commit is contained in:
Alex Denisov 2017-04-14 08:34:32 +00:00
parent 75745d0c3e
commit 3aa1d004b6
1 changed files with 16 additions and 2 deletions

View 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) {