use CPPUNIT_ASSERT_MESSAGE() to show which test exactly failed; use more CPPUNIT_ASSERT_EQUAL()s instead of simple CPPUNIT_ASSERT()s for the same purpose

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-11-08 19:02:56 +00:00
parent 9129836e62
commit 2264775b8a

View File

@@ -24,6 +24,16 @@
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/filefn.h" #include "wx/filefn.h"
// ----------------------------------------------------------------------------
// local functions
// ----------------------------------------------------------------------------
// define stream inserter for wxFileName to use it in CPPUNIT_ASSERT_EQUAL()
inline std::ostream& operator<<(std::ostream& o, const wxFileName& fn)
{
return o << fn.GetFullPath();
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// test data // test data
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -132,9 +142,13 @@ void FileNameTestCase::TestConstruction()
wxFileName fn(fni.fullname, fni.format); wxFileName fn(fni.fullname, fni.format);
wxString fullname = fn.GetFullPath(fni.format); wxString fullname = fn.GetFullPath(fni.format);
CPPUNIT_ASSERT( fullname == fni.fullname ); CPPUNIT_ASSERT_EQUAL( wxString(fni.fullname), fullname );
CPPUNIT_ASSERT( fn.Normalize(wxPATH_NORM_ALL, _T(""), fni.format) ); CPPUNIT_ASSERT_MESSAGE
(
wxString::Format("Normalize(%s) failed", fni.fullname).c_str(),
fn.Normalize(wxPATH_NORM_ALL, _T(""), fni.format)
);
if ( *fni.volume && *fni.path ) if ( *fni.volume && *fni.path )
{ {
@@ -144,10 +158,10 @@ void FileNameTestCase::TestConstruction()
pathWithVolume += wxFileName::GetVolumeSeparator(fni.format); pathWithVolume += wxFileName::GetVolumeSeparator(fni.format);
pathWithVolume += fni.path; pathWithVolume += fni.path;
CPPUNIT_ASSERT( fn == wxFileName(pathWithVolume, CPPUNIT_ASSERT_EQUAL( wxFileName(pathWithVolume,
fni.name, fni.name,
fni.ext, fni.ext,
fni.format) ); fni.format), fn );
} }
} }
} }
@@ -158,7 +172,7 @@ void FileNameTestCase::TestComparison()
wxFileName fn2(wxT("/tmp/dir2/../file2")); wxFileName fn2(wxT("/tmp/dir2/../file2"));
fn1.Normalize(); fn1.Normalize();
fn2.Normalize(); fn2.Normalize();
CPPUNIT_ASSERT(fn1.GetPath() == fn2.GetPath()); CPPUNIT_ASSERT_EQUAL(fn1.GetPath(), fn2.GetPath());
} }
void FileNameTestCase::TestSplit() void FileNameTestCase::TestSplit()
@@ -170,15 +184,15 @@ void FileNameTestCase::TestSplit()
wxFileName::SplitPath(fni.fullname, wxFileName::SplitPath(fni.fullname,
&volume, &path, &name, &ext, fni.format); &volume, &path, &name, &ext, fni.format);
CPPUNIT_ASSERT( volume == fni.volume ); CPPUNIT_ASSERT_EQUAL( wxString(fni.volume), volume );
CPPUNIT_ASSERT( path == fni.path ); CPPUNIT_ASSERT_EQUAL( wxString(fni.path), path );
CPPUNIT_ASSERT( name == fni.name ); CPPUNIT_ASSERT_EQUAL( wxString(fni.name), name );
CPPUNIT_ASSERT( ext == fni.ext ); CPPUNIT_ASSERT_EQUAL( wxString(fni.ext), ext );
} }
// special case of empty extension // special case of empty extension
wxFileName fn(_T("foo.")); wxFileName fn(_T("foo."));
CPPUNIT_ASSERT( fn.GetFullPath() == _T("foo.") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("foo.")), fn.GetFullPath() );
} }
void FileNameTestCase::TestSetPath() void FileNameTestCase::TestSetPath()
@@ -215,7 +229,7 @@ void FileNameTestCase::TestNormalize()
static struct FileNameTest static struct FileNameTest
{ {
wxString original; const wxChar *original;
int flags; int flags;
wxString expected; wxString expected;
} tests[] = } tests[] =
@@ -250,12 +264,16 @@ void FileNameTestCase::TestNormalize()
// set the env var ABCDEF // set the env var ABCDEF
wxSetEnv(_T("ABCDEF"), _T("abcdef")); wxSetEnv(_T("ABCDEF"), _T("abcdef"));
for (size_t i=0; i < WXSIZEOF(tests); i++) for ( size_t i = 0; i < WXSIZEOF(tests); i++ )
{ {
wxFileName fn(tests[i].original, wxPATH_UNIX); wxFileName fn(tests[i].original, wxPATH_UNIX);
// be sure this normalization does not fail // be sure this normalization does not fail
CPPUNIT_ASSERT( fn.Normalize(tests[i].flags, cwd, wxPATH_UNIX) ); CPPUNIT_ASSERT_MESSAGE
(
wxString::Format("Normalize(%s) failed", tests[i].original).c_str(),
fn.Normalize(tests[i].flags, cwd, wxPATH_UNIX)
);
// compare result with expected string // compare result with expected string
CPPUNIT_ASSERT_EQUAL( tests[i].expected, fn.GetFullPath(wxPATH_UNIX) ); CPPUNIT_ASSERT_EQUAL( tests[i].expected, fn.GetFullPath(wxPATH_UNIX) );
@@ -271,13 +289,13 @@ wxString wxTestStripExtension(wxString szFile)
void FileNameTestCase::TestStrip() void FileNameTestCase::TestStrip()
{ {
//test a crash //test a crash
CPPUNIT_ASSERT( wxTestStripExtension( _T("") ) == _T("") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("")), wxTestStripExtension(_T("")) );
//others //others
CPPUNIT_ASSERT( wxTestStripExtension( _T(".") ) == _T("") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("")), wxTestStripExtension(_T(".")) );
CPPUNIT_ASSERT( wxTestStripExtension( _T(".wav") ) == _T("") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("")), wxTestStripExtension(_T(".wav")) );
CPPUNIT_ASSERT( wxTestStripExtension( _T("good.wav") ) == _T("good") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("good")), wxTestStripExtension(_T("good.wav")) );
CPPUNIT_ASSERT( wxTestStripExtension( _T("good.wav.wav") ) == _T("good.wav") ); CPPUNIT_ASSERT_EQUAL( wxString(_T("good.wav")), wxTestStripExtension(_T("good.wav.wav")) );
} }
#ifdef __WINDOWS__ #ifdef __WINDOWS__