[Winmerge-svn] SF.net SVN: winmerge: [3745] trunk/Testing/CppUnit
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2006-10-31 00:15:15
|
Revision: 3745 http://svn.sourceforge.net/winmerge/?rev=3745&view=rev Author: kimmov Date: 2006-10-30 16:14:57 -0800 (Mon, 30 Oct 2006) Log Message: ----------- Cleanup example test, add more simple string compare tests Modified Paths: -------------- trunk/Testing/CppUnit/Changes.txt trunk/Testing/CppUnit/StringDifferencing/StringDifferencing.dsp trunk/Testing/CppUnit/StringDifferencing/TestCase1.cpp trunk/Testing/CppUnit/StringDifferencing/TestCase1.h Added Paths: ----------- trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.cpp trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.h trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.cpp trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.h Modified: trunk/Testing/CppUnit/Changes.txt =================================================================== --- trunk/Testing/CppUnit/Changes.txt 2006-10-30 21:02:36 UTC (rev 3744) +++ trunk/Testing/CppUnit/Changes.txt 2006-10-31 00:14:57 UTC (rev 3745) @@ -1,5 +1,11 @@ Testing\selftest\Changes.txt +2006-10-31 Kimmo + Cleanup example test, add more simple string compare tests + StringDifferencing: StringDifferencing.dsp TestCase1.cpp TestCase1.h + StringDifferencing: add files DifferentStrings1.cpp DifferentStrings1.h + IdenticalStrings1.cpp IdenticalStrings1.h + 2006-10-27 Kimmo PATCH: [ 1585418 ] CppUnit tests for StringDiff Add folder Testing/CppUnit for unit tests Added: trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.cpp =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.cpp (rev 0) +++ trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.cpp 2006-10-31 00:14:57 UTC (rev 3745) @@ -0,0 +1,119 @@ +/** + * @file DifferentStrings1.h + * + * @brief Implementation for simple different strings tests. + */ + +#include <cppunit/config/SourcePrefix.h> +#include "stdafx.h" + +#include "CompareOptions.h" +#include "stringdiffs.h" + +#include "DifferentStrings1.h" + +CPPUNIT_TEST_SUITE_REGISTRATION( DifferentStrings1 ); + +/** @brief Testcase initialization code. */ +void DifferentStrings1::setUp() +{ + // Add possible initializations here +} + +/** @brief Testcase cleanup code. */ +void DifferentStrings1::tearDown() +{ + // Add possible cleanups here +} + +/** + * @brief Test we handle simple case difference correctly. + * This function tests we handle one-char case difference correctly + * with different compare options. In this test the difference is + * the first char in word. + */ +void DifferentStrings1::CasesDiffer1() +{ + wdiffarray diffs; + CString string1(_T("Test")); + CString string2(_T("test")); + int count = 0; + + // Compare case, all whitespaces, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); + + // Ignore case, all whitespaces, whitespace break + // No difference + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); + + // Compare case, whitespaces ignore, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); +} + +/** + * @brief Test we handle simple case difference correctly. + * This function tests we handle one-char case difference correctly + * with different compare options. In this test the difference is + * in the middle of word. + */ +void DifferentStrings1::CasesDiffer2() +{ + wdiffarray diffs; + CString string1(_T("test")); + CString string2(_T("teSt")); + int count = 0; + + // Compare case, all whitespaces, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); + + // Ignore case, all whitespaces, whitespace break + // No difference + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); + + // Compare case, whitespaces ignore, whitespace break + // We must find one difference + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 1); +} Added: trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.h =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.h (rev 0) +++ trunk/Testing/CppUnit/StringDifferencing/DifferentStrings1.h 2006-10-31 00:14:57 UTC (rev 3745) @@ -0,0 +1,32 @@ +/** + * @file DifferentStrings1.h + * + * @brief Declaration for simple different strings tests.. + */ + +#ifndef _DIFFERENT_STRINGS1_H_ +#define _DIFFERENT_STRINGS1_H_ + +#include <cppunit/extensions/HelperMacros.h> + + +/** + * @brief Simple different strings testing. + */ +class DifferentStrings1 : public CPPUNIT_NS::TestFixture +{ + CPPUNIT_TEST_SUITE( DifferentStrings1 ); + CPPUNIT_TEST( CasesDiffer1 ); + CPPUNIT_TEST( CasesDiffer2 ); + CPPUNIT_TEST_SUITE_END(); + +public: + void setUp(); + void tearDown(); + +protected: + void CasesDiffer1(); + void CasesDiffer2(); +}; + +#endif // DIFFERENT_STRINGS1 Added: trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.cpp =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.cpp (rev 0) +++ trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.cpp 2006-10-31 00:14:57 UTC (rev 3745) @@ -0,0 +1,198 @@ +/** + * @file IdenticalStrings1.h + * + * @brief Implementation for Identical strings testing. + */ + +#include <cppunit/config/SourcePrefix.h> +#include "stdafx.h" + +#include "CompareOptions.h" +#include "stringdiffs.h" + +#include "IdenticalStrings1.h" + +CPPUNIT_TEST_SUITE_REGISTRATION( IdenticalStrings1 ); + +static const CString string1(_T("Test")); +static const CString string2(_T("Test")); + +/** @brief Testcase initialization code. */ +void IdenticalStrings1::setUp() +{ + // Add possible initializations here +} + +/** @brief Testcase cleanup code. */ +void IdenticalStrings1::tearDown() +{ + // Add possible cleanups here +} + +/** + * @brief Test identical words are detected as such. + * This function tests that two identical words are detected + * as identical with different word-compare settings. This function + * tests whitespace-break, word-level compare. + */ +void IdenticalStrings1::IdenticalWord1() +{ + wdiffarray diffs; + int count = 0; + + // Break type is whitespace or punctuation + + // Compare case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Ignore case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces ignore, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 0, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); +} + +/** + * @brief Test identical words are detected as such. + * This function tests that two identical words are detected + * as identical with different word-compare settings. This function + * tests punctuation-break, word-level compare. + */ +void IdenticalStrings1::IdenticalWord2() +{ + wdiffarray diffs; + int count = 0; + + // Break type is whitespace or punctuation + + // Compare case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 1, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Ignore case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 1, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 1, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces ignore, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 1, false, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); +} + +/** + * @brief Test identical words are detected as such. + * This function tests that two identical words are detected + * as identical with different word-compare settings. This function + * tests whitespace-break, byte-level compare. + */ +void IdenticalStrings1::IdenticalWord3() +{ + wdiffarray diffs; + int count = 0; + + // Break type is whitespace or punctuation + + // Compare case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 0, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Ignore case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 0, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 0, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces ignore, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 0, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); +} + +/** + * @brief Test identical words are detected as such. + * This function tests that two identical words are detected + * as identical with different word-compare settings. This function + * tests punctuation-break, byte-level compare. + */ +void IdenticalStrings1::IdenticalWord4() +{ + wdiffarray diffs; + int count = 0; + + // Break type is whitespace or punctuation + + // Compare case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_COMPARE_ALL, 1, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Ignore case, all whitespaces, whitespace break + sd_ComputeWordDiffs(string1, string2, + false, WHITESPACE_COMPARE_ALL, 1, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces change, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_CHANGE, 1, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); + + // Compare case, whitespaces ignore, whitespace break + sd_ComputeWordDiffs(string1, string2, + true, WHITESPACE_IGNORE_ALL, 1, true, + &diffs); + count = diffs.GetSize(); + CPPUNIT_ASSERT(count == 0); +} Added: trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.h =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.h (rev 0) +++ trunk/Testing/CppUnit/StringDifferencing/IdenticalStrings1.h 2006-10-31 00:14:57 UTC (rev 3745) @@ -0,0 +1,36 @@ +/** + * @file IdenticalStrings1.h + * + * @brief Declaration for identical strings. + */ + +#ifndef _IDENTICAL_STRINGS1_H_ +#define _IDENTICAL_STRINGS1_H_ + +#include <cppunit/extensions/HelperMacros.h> + + +/** + * @brief Identical string testing with different options. + */ +class IdenticalStrings1 : public CPPUNIT_NS::TestFixture +{ + CPPUNIT_TEST_SUITE( IdenticalStrings1 ); + CPPUNIT_TEST( IdenticalWord1 ); + CPPUNIT_TEST( IdenticalWord2 ); + CPPUNIT_TEST( IdenticalWord3 ); + CPPUNIT_TEST( IdenticalWord4 ); + CPPUNIT_TEST_SUITE_END(); + +public: + void setUp(); + void tearDown(); + +protected: + void IdenticalWord1(); + void IdenticalWord2(); + void IdenticalWord3(); + void IdenticalWord4(); +}; + +#endif // IDENTICAL_STRINGS1 Modified: trunk/Testing/CppUnit/StringDifferencing/StringDifferencing.dsp =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/StringDifferencing.dsp 2006-10-30 21:02:36 UTC (rev 3744) +++ trunk/Testing/CppUnit/StringDifferencing/StringDifferencing.dsp 2006-10-31 00:14:57 UTC (rev 3745) @@ -64,8 +64,8 @@ # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" -# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm- /GR /GX /ZI /Od /I "..\..\..\Externals\cppunit\include" /I "..\..\..\Src" /I "..\..\..\Src\Common" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /FD /GZ /c +# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /GR /GX /ZI /Od /I "..\..\..\Externals\cppunit\include" /I "..\..\..\Src" /I "..\..\..\Src\Common" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_AFXDLL" /FD /GZ /c # SUBTRACT CPP /YX /Yc /Yu # ADD BASE RSC /l 0x40b /d "_DEBUG" /d "_AFXDLL" # ADD RSC /l 0x40b /d "_DEBUG" /d "_AFXDLL" @@ -125,6 +125,22 @@ # PROP Default_Filter "" # Begin Source File +SOURCE=.\DifferentStrings1.cpp +# End Source File +# Begin Source File + +SOURCE=.\DifferentStrings1.h +# End Source File +# Begin Source File + +SOURCE=.\IdenticalStrings1.cpp +# End Source File +# Begin Source File + +SOURCE=.\IdenticalStrings1.h +# End Source File +# Begin Source File + SOURCE=.\TestCase1.cpp # End Source File # Begin Source File Modified: trunk/Testing/CppUnit/StringDifferencing/TestCase1.cpp =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/TestCase1.cpp 2006-10-30 21:02:36 UTC (rev 3744) +++ trunk/Testing/CppUnit/StringDifferencing/TestCase1.cpp 2006-10-31 00:14:57 UTC (rev 3745) @@ -1,3 +1,8 @@ +/** + * @file TestCase1.h + * + * @brief Implementatino for first simple test case. + */ #include <cppunit/config/SourcePrefix.h> #include "stdafx.h" @@ -9,16 +14,23 @@ CPPUNIT_TEST_SUITE_REGISTRATION( TestCase1 ); +/** @brief Testcase initialization code. */ void TestCase1::setUp() { // Add possible initializations here } +/** @brief Testcase cleanup code. */ void TestCase1::tearDown() { // Add possible cleanups here } +/** + * @brief Test identical words are detected as such. + * This function tests that two identical words are detected + * as identical with different word-compare settings. + */ void TestCase1::Identical1() { wdiffarray diffs; @@ -26,93 +38,40 @@ CString string2(_T("Test")); int count = 0; - // Break type is whitespace or punctuation - - // Check strings with different settings + // Compare case, all whitespaces, whitespace break sd_ComputeWordDiffs(string1, string2, true, WHITESPACE_COMPARE_ALL, 0, false, &diffs); count = diffs.GetSize(); CPPUNIT_ASSERT(count == 0); + // Ignore case, all whitespaces, whitespace break sd_ComputeWordDiffs(string1, string2, false, WHITESPACE_COMPARE_ALL, 0, false, &diffs); count = diffs.GetSize(); CPPUNIT_ASSERT(count == 0); + // Compare case, whitespaces change, whitespace break sd_ComputeWordDiffs(string1, string2, true, WHITESPACE_IGNORE_CHANGE, 0, false, &diffs); count = diffs.GetSize(); CPPUNIT_ASSERT(count == 0); + // Compare case, whitespaces ignore, whitespace break sd_ComputeWordDiffs(string1, string2, true, WHITESPACE_IGNORE_ALL, 0, false, &diffs); count = diffs.GetSize(); CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_COMPARE_ALL, 1, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_COMPARE_ALL, 0, true, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); } -void TestCase1::Identical2() -{ - wdiffarray diffs; - CString string1(_T("Test words")); - CString string2(_T("Test words")); - int count = 0; - - // Break type is whitespace or punctuation - - // Check strings with different settings - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_COMPARE_ALL, 0, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - false, WHITESPACE_COMPARE_ALL, 0, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_IGNORE_CHANGE, 0, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_IGNORE_ALL, 0, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_COMPARE_ALL, 1, false, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); - - sd_ComputeWordDiffs(string1, string2, - true, WHITESPACE_COMPARE_ALL, 0, true, - &diffs); - count = diffs.GetSize(); - CPPUNIT_ASSERT(count == 0); -} - +/** + * @brief Test different words are detected as such. + * This function tests that two different words are detected + * as different with different word-compare settings. + */ void TestCase1::Difference1() { wdiffarray diffs; @@ -149,6 +108,11 @@ diffs.RemoveAll(); } +/** + * @brief Test different two-words are detected as such. + * This function tests that two different two-words are detected + * as different with different word-compare settings. + */ void TestCase1::Difference2() { wdiffarray diffs; Modified: trunk/Testing/CppUnit/StringDifferencing/TestCase1.h =================================================================== --- trunk/Testing/CppUnit/StringDifferencing/TestCase1.h 2006-10-30 21:02:36 UTC (rev 3744) +++ trunk/Testing/CppUnit/StringDifferencing/TestCase1.h 2006-10-31 00:14:57 UTC (rev 3745) @@ -1,3 +1,9 @@ +/** + * @file TestCase1.h + * + * @brief Declaration for first simple test case. + */ + #ifndef _TESTCASE1_H_ #define _TESTCASE1_H_ @@ -3,16 +9,18 @@ #include <cppunit/extensions/HelperMacros.h> + +/** + * @brief First simple testcase for StringDifferencing. + * This is simple test case meant more of an example for writing testcases. + * But of course this does some useful testing also. :) + */ class TestCase1 : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( TestCase1 ); CPPUNIT_TEST( Identical1 ); - CPPUNIT_TEST( Identical2 ); CPPUNIT_TEST( Difference1 ); CPPUNIT_TEST( Difference2 ); CPPUNIT_TEST_SUITE_END(); -protected: - - public: void setUp(); @@ -21,11 +29,9 @@ protected: void Identical1(); - void Identical2(); void Difference1(); void Difference2(); }; - -#endif +#endif // _TESTCASE1_H_ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |