Thread: [Winmerge-svn] SF.net SVN: winmerge:[6503] trunk/Testing/GoogleTest/StringDiffs/ stringdiffs_test.c
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2009-02-27 23:15:51
|
Revision: 6503 http://winmerge.svn.sourceforge.net/winmerge/?rev=6503&view=rev Author: kimmov Date: 2009-02-27 23:15:50 +0000 (Fri, 27 Feb 2009) Log Message: ----------- Tests: Add few more unit tests for string differencing. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-02-25 18:04:58 UTC (rev 6502) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-02-27 23:15:50 UTC (rev 6503) @@ -43,14 +43,119 @@ // Objects declared here can be used by all tests in the test case for Foo. }; - TEST_F(StringDiffsTest, Identical1) + // sd_ComputeWordDiffs() parameters are: + // String & str1 - the first string to compare + // String & str2 - the second string to compare + // bool case_sensitive - is the compare case-sensitive? + // int whitespace - do we ignore whitespace and how + // int breakType - word (0) or char (1) break + // bool byte_level - are we word (false) or byte-level (true) diffing + // std::vector<wdiff*> * pDiffs - resultting diff list + + // Identical strings, no case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, Default1) { std::vector<wdiff*> diffs; - sd_ComputeWordDiffs("Boo", "Boo", true, 0, 0, false, &diffs); + sd_ComputeWordDiffs("abcde", "abcde", false, 0, 0, false, &diffs); EXPECT_TRUE(diffs.size() == 0); } + // Identical strings, no case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, DefaultDiffererentLen) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcdef", "abcde", false, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 1); + } + // Identical strings, no case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, DefaultWhitespaceEnd) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde ", "abcde", false, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 1); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, Caseignore1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde", "abcde", true, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, CaseignoreCase1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abcde", true, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 1); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde ", "abcde", true, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 2); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", " abcde", true, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 2); + } + + // Identical strings, no case sensitivity, ignore whitespace change, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore whitespace change, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace4) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore whitespace change, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace5) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore whitespace change, words, word-level + TEST_F(StringDiffsTest, CaseignoreWhitespace6) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, Identical2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde", "abcde", true, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Case-differing strings, no case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, Identical3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abcDe", false, 0, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + } // namespace int main(int argc, char **argv) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-02-27 23:29:27
|
Revision: 6504 http://winmerge.svn.sourceforge.net/winmerge/?rev=6504&view=rev Author: kimmov Date: 2009-02-27 23:29:25 +0000 (Fri, 27 Feb 2009) Log Message: ----------- Tests: Add few more unit tests for string differencing about whitespace ignore. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-02-27 23:15:50 UTC (rev 6503) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-02-27 23:29:25 UTC (rev 6504) @@ -93,7 +93,7 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace1) + TEST_F(StringDiffsTest, IgnoreWhitespace1) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde ", "abcde", true, 0, 0, false, &diffs); @@ -101,7 +101,7 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace2) + TEST_F(StringDiffsTest, IgnoreWhitespace2) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde", " abcde", true, 0, 0, false, &diffs); @@ -109,7 +109,7 @@ } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace3) + TEST_F(StringDiffsTest, IgnoreWhitespace3) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); @@ -117,7 +117,7 @@ } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace4) + TEST_F(StringDiffsTest, IgnoreWhitespace4) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); @@ -125,7 +125,7 @@ } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace5) + TEST_F(StringDiffsTest, IgnoreWhitespace5) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); @@ -133,13 +133,69 @@ } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level - TEST_F(StringDiffsTest, CaseignoreWhitespace6) + TEST_F(StringDiffsTest, IgnoreWhitespace6) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); EXPECT_TRUE(diffs.size() == 0); } + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde", "abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde", "abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde", "abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace4) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs(" abcde", " abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace5) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde abcde", "abcdeabcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 1); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace6) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde abcde", "abcde abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + + // Identical strings, no case sensitivity, ignore all whitespace, words, word-level + TEST_F(StringDiffsTest, IgnoreAllWhitespace7) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde\nabcde", "abcde abcde", true, 2, 0, false, &diffs); + EXPECT_TRUE(diffs.size() == 0); + } + // Identical strings, case sensitivity, no whitespace, words, word-level TEST_F(StringDiffsTest, Identical2) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-01 19:39:29
|
Revision: 6515 http://winmerge.svn.sourceforge.net/winmerge/?rev=6515&view=rev Author: kimmov Date: 2009-03-01 19:39:17 +0000 (Sun, 01 Mar 2009) Log Message: ----------- Tests: add word break tests to stringdiff testsuite Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 16:55:11 UTC (rev 6514) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:39:17 UTC (rev 6515) @@ -197,6 +197,108 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level + TEST_F(StringDiffsTest, WordBreak1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde fghij", "abcde fghij", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // Last word is different + TEST_F(StringDiffsTest, WordBreak2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fghij", "abcde fGhij", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // Middle word is different + TEST_F(StringDiffsTest, WordBreak3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fgHIj klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // Middle word is different + TEST_F(StringDiffsTest, WordBreak4) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fghij klmno", "abcde fGHij klmno", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // First two words are different + TEST_F(StringDiffsTest, WordBreak5) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcDE fGHij klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // First two words are different + TEST_F(StringDiffsTest, WordBreak6) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fghij klmno", "abcDE fGHij klmno", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level + // First and last words are different generating two diffs + TEST_F(StringDiffsTest, WordBreak7) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fghij KLmno", "abcDE fghij klmno", true, 0, 0, false, &diffs); + EXPECT_EQ(2, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(12, pDiff->start[0]); + EXPECT_EQ(12, pDiff->start[1]); + EXPECT_EQ(16, pDiff->end[0]); + EXPECT_EQ(16, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level TEST_F(StringDiffsTest, Identical2) { std::vector<wdiff*> diffs; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-01 19:54:53
|
Revision: 6516 http://winmerge.svn.sourceforge.net/winmerge/?rev=6516&view=rev Author: kimmov Date: 2009-03-01 19:54:49 +0000 (Sun, 01 Mar 2009) Log Message: ----------- Tests: Stringdiff: add test for both of two words being different, rename few tests. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:39:17 UTC (rev 6515) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:54:49 UTC (rev 6516) @@ -197,7 +197,7 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level - TEST_F(StringDiffsTest, WordBreak1) + TEST_F(StringDiffsTest, WordBreak2Words1) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde fghij", "abcde fghij", true, 0, 0, false, &diffs); @@ -211,7 +211,7 @@ // Identical strings, case sensitivity, no whitespace, words, word-level // Last word is different - TEST_F(StringDiffsTest, WordBreak2) + TEST_F(StringDiffsTest, WordBreak2Words2) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij", "abcde fGhij", true, 0, 0, false, &diffs); @@ -224,8 +224,22 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level + // Last word is different + TEST_F(StringDiffsTest, WordBreak2Words3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde fghij", "ABcde fGhij", true, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, word-level // Middle word is different - TEST_F(StringDiffsTest, WordBreak3) + TEST_F(StringDiffsTest, WordBreak3Words1) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fgHIj klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); @@ -239,7 +253,7 @@ // Identical strings, case sensitivity, no whitespace, words, word-level // Middle word is different - TEST_F(StringDiffsTest, WordBreak4) + TEST_F(StringDiffsTest, WordBreak3Words2) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij klmno", "abcde fGHij klmno", true, 0, 0, false, &diffs); @@ -253,7 +267,7 @@ // Identical strings, case sensitivity, no whitespace, words, word-level // First two words are different - TEST_F(StringDiffsTest, WordBreak5) + TEST_F(StringDiffsTest, WordBreak3Words3) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcDE fGHij klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); @@ -267,7 +281,7 @@ // Identical strings, case sensitivity, no whitespace, words, word-level // First two words are different - TEST_F(StringDiffsTest, WordBreak6) + TEST_F(StringDiffsTest, WordBreak3Words4) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij klmno", "abcDE fGHij klmno", true, 0, 0, false, &diffs); @@ -281,7 +295,7 @@ // Identical strings, case sensitivity, no whitespace, words, word-level // First and last words are different generating two diffs - TEST_F(StringDiffsTest, WordBreak7) + TEST_F(StringDiffsTest, WordBreak3Words5) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij KLmno", "abcDE fghij klmno", true, 0, 0, false, &diffs); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-01 19:56:28
|
Revision: 6517 http://winmerge.svn.sourceforge.net/winmerge/?rev=6517&view=rev Author: kimmov Date: 2009-03-01 19:56:25 +0000 (Sun, 01 Mar 2009) Log Message: ----------- Tests: Fix comment. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:54:49 UTC (rev 6516) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:56:25 UTC (rev 6517) @@ -224,7 +224,7 @@ } // Identical strings, case sensitivity, no whitespace, words, word-level - // Last word is different + // Both words are different TEST_F(StringDiffsTest, WordBreak2Words3) { std::vector<wdiff*> diffs; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-01 22:47:08
|
Revision: 6518 http://winmerge.svn.sourceforge.net/winmerge/?rev=6518&view=rev Author: kimmov Date: 2009-03-01 22:47:07 +0000 (Sun, 01 Mar 2009) Log Message: ----------- Tests: Adding simple byte-level tests to StringDiffsTest. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 19:56:25 UTC (rev 6517) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-01 22:47:07 UTC (rev 6518) @@ -312,22 +312,218 @@ EXPECT_EQ(16, pDiff->end[1]); } - // Identical strings, case sensitivity, no whitespace, words, word-level - TEST_F(StringDiffsTest, Identical2) + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak2Words1) { std::vector<wdiff*> diffs; - sd_ComputeWordDiffs("abcde", "abcde", true, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + sd_ComputeWordDiffs("abcde,fghij", "ABcde,fghij", true, 0, 1, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); } - // Case-differing strings, no case sensitivity, no whitespace, words, word-level - TEST_F(StringDiffsTest, Identical3) + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak2Words2) { std::vector<wdiff*> diffs; - sd_ComputeWordDiffs("aBcde", "abcDe", false, 0, 0, false, &diffs); + sd_ComputeWordDiffs("Abcde,fghij", "abcde,fghij", true, 0, 1, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // Both words are different + TEST_F(StringDiffsTest, PunctBreak2Words3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("Abcde,fghij", "abcde,fGHij", true, 0, 1, false, &diffs); + EXPECT_EQ(2, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak3Words1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("Abcde,fghij,klmno", "abcde,fghij,klmno", true, 0, 1, false, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak3Words2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("Abcde,fghij,klmno", "abcde,fGHij,klmno", true, 0, 1, false, &diffs); + EXPECT_EQ(2, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak3Words3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("Abcde,fghij,klmno", "abcde,fGHij,klmNO", true, 0, 1, false, &diffs); + EXPECT_EQ(3, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + pDiff = diffs[2]; + EXPECT_EQ(12, pDiff->start[0]); + EXPECT_EQ(12, pDiff->start[1]); + EXPECT_EQ(16, pDiff->end[0]); + EXPECT_EQ(16, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, punctuations, word-level + // First word is different + TEST_F(StringDiffsTest, PunctBreak3Words4) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("Abcde,fghij,klmno", "abcde,fghij,klmNO", true, 0, 1, false, &diffs); + EXPECT_EQ(2, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(12, pDiff->start[0]); + EXPECT_EQ(12, pDiff->start[1]); + EXPECT_EQ(16, pDiff->end[0]); + EXPECT_EQ(16, pDiff->end[1]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + TEST_F(StringDiffsTest, ByteLevel1) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde", "abcde", true, 0, 0, true, &diffs); EXPECT_TRUE(diffs.size() == 0); } + // Identical strings, case sensitivity, no whitespace, words, byte-level + TEST_F(StringDiffsTest, ByteLevel2) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abcde", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(1, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + TEST_F(StringDiffsTest, ByteLevel3) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBCde", "abcde", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(2, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + TEST_F(StringDiffsTest, ByteLevel4) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abCde", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(2, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + // NOTE NOTE: This is questionable? + TEST_F(StringDiffsTest, ByteLevel5) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcDe", "abcde", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(3, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + // NOTE NOTE: This is questionable? + TEST_F(StringDiffsTest, ByteLevel6) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abcDe", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(3, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + // NOTE NOTE: This is questionable? + TEST_F(StringDiffsTest, ByteLevel7) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcdE", "abcde", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(4, pDiff->end[0]); + } + + // Identical strings, case sensitivity, no whitespace, words, byte-level + // NOTE NOTE: This is questionable? + TEST_F(StringDiffsTest, ByteLevel8) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("aBcde", "abcdE", true, 0, 0, true, &diffs); + EXPECT_EQ(1, diffs.size()); + wdiff *pDiff = diffs[0]; + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(4, pDiff->end[0]); + } + } // namespace int main(int argc, char **argv) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-08 11:07:56
|
Revision: 6548 http://winmerge.svn.sourceforge.net/winmerge/?rev=6548&view=rev Author: kimmov Date: 2009-03-08 11:07:32 +0000 (Sun, 08 Mar 2009) Log Message: ----------- Tests: Cleanup Stringdiff test assumptions. >From PATCH: [ 2636551 ] stringdiffcolor by Matthias Mayer Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-06 21:34:27 UTC (rev 6547) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-08 11:07:32 UTC (rev 6548) @@ -50,7 +50,7 @@ // String & str2 - the second string to compare // bool case_sensitive - is the compare case-sensitive? // int whitespace - do we ignore whitespace and how - // int breakType - word (0) or char (1) break + // int breakType - Space (0) or punctuations (1) break // bool byte_level - are we word (false) or byte-level (true) diffing // std::vector<wdiff*> * pDiffs - resultting diff list @@ -59,7 +59,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde", "abcde", false, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, no whitespace, words, word-level @@ -67,7 +67,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcdef", "abcde", false, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 1); + EXPECT_EQ(1, diffs.size()); } // Identical strings, no case sensitivity, no whitespace, words, word-level @@ -75,7 +75,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde ", "abcde", false, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 1); + EXPECT_EQ(1, diffs.size()); } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -83,7 +83,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde", "abcde", true, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -91,7 +91,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde", "abcde", true, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 1); + EXPECT_EQ(1, diffs.size()); } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -99,7 +99,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde ", "abcde", true, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 2); + EXPECT_EQ(2, diffs.size()); } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -107,7 +107,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("aBcde", " abcde", true, 0, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 2); + EXPECT_EQ(2, diffs.size()); } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level @@ -115,7 +115,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level @@ -123,7 +123,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level @@ -131,7 +131,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", " abcde abcde", false, 1, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level @@ -139,7 +139,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -147,7 +147,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde", "abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -155,7 +155,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde", "abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -163,7 +163,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde", "abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -171,7 +171,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde", " abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -187,7 +187,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde abcde", "abcde abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -195,7 +195,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde\nabcde", "abcde abcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 0); + EXPECT_EQ(0, diffs.size()); } // Identical strings, case sensitivity, no whitespace, words, word-level This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-08 11:24:03
|
Revision: 6549 http://winmerge.svn.sourceforge.net/winmerge/?rev=6549&view=rev Author: kimmov Date: 2009-03-08 11:23:53 +0000 (Sun, 08 Mar 2009) Log Message: ----------- Tests: Fix test description. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-08 11:07:32 UTC (rev 6548) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-08 11:23:53 UTC (rev 6549) @@ -395,7 +395,7 @@ } // Identical strings, case sensitivity, no whitespace, punctuations, word-level - // First word is different + // All three words are different TEST_F(StringDiffsTest, PunctBreak3Words3) { std::vector<wdiff*> diffs; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-08 20:50:37
|
Revision: 6552 http://winmerge.svn.sourceforge.net/winmerge/?rev=6552&view=rev Author: kimmov Date: 2009-03-08 20:50:25 +0000 (Sun, 08 Mar 2009) Log Message: ----------- Tests: Improve StringDiffsTest to not crash if tests fail. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-08 19:20:56 UTC (rev 6551) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-08 20:50:25 UTC (rev 6552) @@ -205,10 +205,13 @@ sd_ComputeWordDiffs("aBcde fghij", "abcde fghij", true, 0, 0, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -219,10 +222,14 @@ sd_ComputeWordDiffs("abcde fghij", "abcde fGhij", true, 0, 0, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(6, pDiff->start[0]); - EXPECT_EQ(6, pDiff->start[1]); - EXPECT_EQ(10, pDiff->end[0]); - EXPECT_EQ(10, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -247,10 +254,13 @@ sd_ComputeWordDiffs("abcde fgHIj klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(6, pDiff->start[0]); - EXPECT_EQ(6, pDiff->start[1]); - EXPECT_EQ(10, pDiff->end[0]); - EXPECT_EQ(10, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -261,10 +271,13 @@ sd_ComputeWordDiffs("abcde fghij klmno", "abcde fGHij klmno", true, 0, 0, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(6, pDiff->start[0]); - EXPECT_EQ(6, pDiff->start[1]); - EXPECT_EQ(10, pDiff->end[0]); - EXPECT_EQ(10, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -303,15 +316,18 @@ sd_ComputeWordDiffs("abcde fghij KLmno", "abcDE fghij klmno", true, 0, 0, false, &diffs); EXPECT_EQ(2, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); - pDiff = diffs[1]; - EXPECT_EQ(12, pDiff->start[0]); - EXPECT_EQ(12, pDiff->start[1]); - EXPECT_EQ(16, pDiff->end[0]); - EXPECT_EQ(16, pDiff->end[1]); + if (diffs.size() == 2) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(12, pDiff->start[0]); + EXPECT_EQ(12, pDiff->start[1]); + EXPECT_EQ(16, pDiff->end[0]); + EXPECT_EQ(16, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -322,10 +338,13 @@ sd_ComputeWordDiffs("abcde,fghij", "ABcde,fghij", true, 0, 1, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -336,10 +355,13 @@ sd_ComputeWordDiffs("Abcde,fghij", "abcde,fghij", true, 0, 1, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -350,15 +372,18 @@ sd_ComputeWordDiffs("Abcde,fghij", "abcde,fGHij", true, 0, 1, false, &diffs); EXPECT_EQ(2, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); - pDiff = diffs[1]; - EXPECT_EQ(6, pDiff->start[0]); - EXPECT_EQ(6, pDiff->start[1]); - EXPECT_EQ(10, pDiff->end[0]); - EXPECT_EQ(10, pDiff->end[1]); + if (diffs.size() == 2) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -369,10 +394,13 @@ sd_ComputeWordDiffs("Abcde,fghij,klmno", "abcde,fghij,klmno", true, 0, 1, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -446,10 +474,13 @@ sd_ComputeWordDiffs("Abcde:fghij", "abcde:fghij", true, 0, 1, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(4, pDiff->end[0]); - EXPECT_EQ(4, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, punctuations, word-level @@ -461,10 +492,13 @@ sd_ComputeWordDiffs("Abcde,fghij", "abcde,fghij", true, 0, 1, false, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(0, pDiff->start[0]); - EXPECT_EQ(0, pDiff->start[1]); - EXPECT_EQ(10, pDiff->end[0]); - EXPECT_EQ(10, pDiff->end[1]); + if (diffs.size() == 1) + { + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -482,8 +516,13 @@ sd_ComputeWordDiffs("aBcde", "abcde", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(1, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(1, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(1, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -493,8 +532,13 @@ sd_ComputeWordDiffs("aBCde", "abcde", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(2, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(2, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(2, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -504,8 +548,13 @@ sd_ComputeWordDiffs("aBcde", "abCde", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(2, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(2, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(2, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -516,8 +565,13 @@ sd_ComputeWordDiffs("aBcDe", "abcde", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(3, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(3, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(3, pDiff->end[0]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -528,8 +582,13 @@ sd_ComputeWordDiffs("aBcde", "abcDe", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(3, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(3, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(3, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -540,8 +599,13 @@ sd_ComputeWordDiffs("aBcdE", "abcde", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(4, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[1]); + } } // Identical strings, case sensitivity, no whitespace, words, byte-level @@ -552,8 +616,13 @@ sd_ComputeWordDiffs("aBcde", "abcdE", true, 0, 0, true, &diffs); EXPECT_EQ(1, diffs.size()); wdiff *pDiff = diffs[0]; - EXPECT_EQ(1, pDiff->start[0]); - EXPECT_EQ(4, pDiff->end[0]); + if (diffs.size() == 1) + { + EXPECT_EQ(1, pDiff->start[0]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(1, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[1]); + } } } // namespace This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-20 15:07:55
|
Revision: 6582 http://winmerge.svn.sourceforge.net/winmerge/?rev=6582&view=rev Author: kimmov Date: 2009-03-20 15:07:50 +0000 (Fri, 20 Mar 2009) Log Message: ----------- Tests: Use EXPECT_EQ instead of EXPECT_TRUE. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-19 19:52:48 UTC (rev 6581) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-20 15:07:50 UTC (rev 6582) @@ -179,7 +179,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde abcde", "abcdeabcde", true, 2, 0, false, &diffs); - EXPECT_TRUE(diffs.size() == 1); + EXPECT_EQ(1, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-21 09:20:22
|
Revision: 6583 http://winmerge.svn.sourceforge.net/winmerge/?rev=6583&view=rev Author: kimmov Date: 2009-03-21 09:20:21 +0000 (Sat, 21 Mar 2009) Log Message: ----------- Tests: Fix StringDiffs tests to behave like they really should be - earlier we just tweaked tests to behave like current implementation. Now when we have a patch fixing some bugs (#2636551). Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-20 15:07:50 UTC (rev 6582) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-21 09:20:21 UTC (rev 6583) @@ -135,11 +135,12 @@ } // Identical strings, no case sensitivity, ignore whitespace change, words, word-level + // Whitespace at begin of first string is a difference TEST_F(StringDiffsTest, IgnoreWhitespace6) { std::vector<wdiff*> diffs; sd_ComputeWordDiffs(" abcde abcde", "abcde abcde", false, 1, 0, false, &diffs); - EXPECT_EQ(0, diffs.size()); + EXPECT_EQ(1, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -179,7 +180,7 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde abcde", "abcdeabcde", true, 2, 0, false, &diffs); - EXPECT_EQ(1, diffs.size()); + EXPECT_EQ(0, diffs.size()); } // Identical strings, no case sensitivity, ignore all whitespace, words, word-level @@ -229,7 +230,6 @@ EXPECT_EQ(10, pDiff->end[0]); EXPECT_EQ(10, pDiff->end[1]); } - } // Identical strings, case sensitivity, no whitespace, words, word-level @@ -238,10 +238,15 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij", "ABcde fGhij", true, 0, 0, false, &diffs); - EXPECT_EQ(1, diffs.size()); + EXPECT_EQ(2, diffs.size()); wdiff *pDiff = diffs[0]; EXPECT_EQ(0, pDiff->start[0]); EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); EXPECT_EQ(10, pDiff->end[0]); EXPECT_EQ(10, pDiff->end[1]); } @@ -286,10 +291,15 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcDE fGHij klmno", "abcde fghij klmno", true, 0, 0, false, &diffs); - EXPECT_EQ(1, diffs.size()); + EXPECT_EQ(2, diffs.size()); wdiff *pDiff = diffs[0]; EXPECT_EQ(0, pDiff->start[0]); EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); EXPECT_EQ(10, pDiff->end[0]); EXPECT_EQ(10, pDiff->end[1]); } @@ -300,10 +310,15 @@ { std::vector<wdiff*> diffs; sd_ComputeWordDiffs("abcde fghij klmno", "abcDE fGHij klmno", true, 0, 0, false, &diffs); - EXPECT_EQ(1, diffs.size()); + EXPECT_EQ(2, diffs.size()); wdiff *pDiff = diffs[0]; EXPECT_EQ(0, pDiff->start[0]); EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(4, pDiff->end[0]); + EXPECT_EQ(4, pDiff->end[1]); + pDiff = diffs[1]; + EXPECT_EQ(6, pDiff->start[0]); + EXPECT_EQ(6, pDiff->start[1]); EXPECT_EQ(10, pDiff->end[0]); EXPECT_EQ(10, pDiff->end[1]); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-26 16:28:59
|
Revision: 6599 http://winmerge.svn.sourceforge.net/winmerge/?rev=6599&view=rev Author: kimmov Date: 2009-03-26 16:28:42 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Tests: Add StringDiffs tests for setting empty custom punctuation list. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-26 05:51:06 UTC (rev 6598) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-26 16:28:42 UTC (rev 6599) @@ -488,6 +488,42 @@ EXPECT_EQ(16, pDiff->end[1]); } + // Empty custom punct string + // Match whole strings + TEST_F(StringDiffsTest, CustomPunct1) + { + std::vector<wdiff*> diffs; + sd_SetBreakChars(""); + sd_ComputeWordDiffs("Abcde:fghij", "abcde:fghij", true, 0, 1, false, &diffs); + EXPECT_EQ(1, diffs.size()); + if (diffs.size() > 0) + { + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + } + + // Empty custom punct string + // Match whole strings + TEST_F(StringDiffsTest, CustomPunct2) + { + std::vector<wdiff*> diffs; + sd_SetBreakChars(""); + sd_ComputeWordDiffs("Abcde,fghij", "abcde,fghij", true, 0, 1, false, &diffs); + EXPECT_EQ(1, diffs.size()); + if (diffs.size() > 0) + { + wdiff *pDiff = diffs[0]; + EXPECT_EQ(0, pDiff->start[0]); + EXPECT_EQ(0, pDiff->start[1]); + EXPECT_EQ(10, pDiff->end[0]); + EXPECT_EQ(10, pDiff->end[1]); + } + } + // Identical strings, case sensitivity, no whitespace, punctuations, word-level // First word is different TEST_F(StringDiffsTest, CustomPunctBreak1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ki...@us...> - 2009-03-26 16:51:45
|
Revision: 6600 http://winmerge.svn.sourceforge.net/winmerge/?rev=6600&view=rev Author: kimmov Date: 2009-03-26 16:51:38 +0000 (Thu, 26 Mar 2009) Log Message: ----------- Tests: Add StringDiffs tests for empty strings. Modified Paths: -------------- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp Modified: trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp =================================================================== --- trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-26 16:28:42 UTC (rev 6599) +++ trunk/Testing/GoogleTest/StringDiffs/stringdiffs_test.cpp 2009-03-26 16:51:38 UTC (rev 6600) @@ -54,6 +54,30 @@ // bool byte_level - are we word (false) or byte-level (true) diffing // std::vector<wdiff*> * pDiffs - resultting diff list + // Both strings empty + TEST_F(StringDiffsTest, EmptyBoth) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("", "", false, 0, 0, false, &diffs); + EXPECT_EQ(0, diffs.size()); + } + + // First string empty + TEST_F(StringDiffsTest, EmptyFirst) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("", "abcde", false, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + } + + // Second string empty + TEST_F(StringDiffsTest, EmptySecond) + { + std::vector<wdiff*> diffs; + sd_ComputeWordDiffs("abcde", "", false, 0, 0, false, &diffs); + EXPECT_EQ(1, diffs.size()); + } + // Identical strings, no case sensitivity, no whitespace, words, word-level TEST_F(StringDiffsTest, Default1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |