[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. |