// Author: Hans Van Leemputten
// RCS-ID: $Id$
// Copyright: (c) 2004 Hans Van Leemputten
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_TESTBSTREAM_H__
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( Name, COMPOSE_TEST_NAME(Name) ); \
STREAM_IMPLEMENT_SUB_REGISTRATION_ROUTINE( Name )
-
///////////////////////////////////////////////////////////////////////////////
// Template class that implements a test for all base stream functions.
//
const TStreamIn &stream_in = CreateInStream();
CPPUNIT_ASSERT(!stream_in.Eof());
- // Size should be greater then zero.
+ // Size should be greater than zero.
// Note: streams not supporting this should register this test
// with CPPUNIT_TEST_FAIL instead of CPPUNIT_TEST.
CPPUNIT_ASSERT(stream_in.GetSize() != 0);
// Travel to the end of the stream.
while(!stream_in.Eof())
{
+ CPPUNIT_ASSERT_MESSAGE( "unexpected non-EOF stream error",
+ stream_in.IsOk() );
+
// Read, we move one byte along.
(void)stream_in.GetC();
#if 0
// Check EOF stream state.
CPPUNIT_ASSERT_MESSAGE("EOF is not EOF?", stream_in.Eof());
- // Ok we found the end, lets see if we can go past it.
+ // Ok we found the end, let's see if we can go past it.
for (size_t i = 0; i < 100; i++)
(void)stream_in.GetC();
char buf[5];
(void)stream_in.Read(buf, 5);
- CPPUNIT_ASSERT(stream_in.LastRead() == 5);
+ CPPUNIT_ASSERT_EQUAL(5, stream_in.LastRead());
(void)stream_in.GetC();
- CPPUNIT_ASSERT(stream_in.LastRead() == 1);
+ CPPUNIT_ASSERT_EQUAL(1, stream_in.LastRead());
}
void Input_CanRead()
// Try to Seek in the stream...
// Note: streams not supporting this should register this test
// with CPPUNIT_TEST_FAIL instead of CPPUNIT_TEST.
- CPPUNIT_ASSERT(stream_in.SeekI(2, wxFromStart) == 2);
- CPPUNIT_ASSERT(stream_in.SeekI(2, wxFromCurrent) == 4);
+ CPPUNIT_ASSERT_EQUAL(2, stream_in.SeekI(2, wxFromStart));
+ CPPUNIT_ASSERT_EQUAL(4, stream_in.SeekI(2, wxFromCurrent));
// Not sure the following line is correct, so test it differently.
- //CPPUNIT_ASSERT(stream_in.SeekI(-2, wxFromEnd) == (off_t)stream_in.GetSize()-2);
+ //CPPUNIT_ASSERT_EQUAL(stream_in.GetSize()-2, stream_in.SeekI(-2, wxFromEnd));
CPPUNIT_ASSERT(stream_in.SeekI(-2, wxFromEnd) != wxInvalidOffset);
// Go beyond the stream size.
CPPUNIT_ASSERT((stream_in.SeekI(10, wxFromCurrent) == wxInvalidOffset) == m_bSeekInvalidBeyondEnd);
CleanupHelper cleanup(this);
TStreamIn &stream_in = CreateInStream();
- // this test shouldn't be used at all if the stream isn't seekable
- CPPUNIT_ASSERT( stream_in.IsSeekable() );
-
CPPUNIT_ASSERT(!stream_in.Eof());
// Try to Get the location in the stream...
- CPPUNIT_ASSERT(stream_in.TellI() == 0);
+ CPPUNIT_ASSERT_EQUAL(0, stream_in.TellI());
(void)stream_in.GetC();
- CPPUNIT_ASSERT(stream_in.TellI() == 1);
+ CPPUNIT_ASSERT_EQUAL(1, stream_in.TellI());
if (!m_bSimpleTellITest)
{
wxFileOffset pos = stream_in.SeekI(5, wxFromStart);
- CPPUNIT_ASSERT(stream_in.TellI() == pos);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_in.TellI());
(void)stream_in.GetC();
- CPPUNIT_ASSERT(stream_in.TellI() == 6);
+ CPPUNIT_ASSERT_EQUAL(6, stream_in.TellI());
pos = stream_in.SeekI(2, wxFromCurrent);
- CPPUNIT_ASSERT(stream_in.TellI() == pos);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_in.TellI());
pos = stream_in.SeekI(5, wxFromStart);
- CPPUNIT_ASSERT(stream_in.TellI() == pos);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_in.TellI());
}
}
char peekChar = stream_in.Peek();
char getChar = stream_in.GetC();
if (stream_in.LastRead() == 1)
- CPPUNIT_ASSERT(peekChar == getChar);
+ CPPUNIT_ASSERT_EQUAL(getChar, peekChar);
}
}
size_t ungetsize = stream_in.Ungetch(ungetstr, strlen(ungetstr) + 1);
if (ungetsize != 0)
{
- CPPUNIT_ASSERT(ungetsize == strlen(ungetstr) + 1);
+ CPPUNIT_ASSERT_EQUAL(strlen(ungetstr) + 1, ungetsize);
char buf[10];
(void)stream_in.Read(buf, ungetsize);
CPPUNIT_ASSERT(strcmp(buf, ungetstr) == 0);
if (stream_in.Ungetch('a'))
{
- CPPUNIT_ASSERT(stream_in.GetC() == 'a');
+ CPPUNIT_ASSERT_EQUAL(int('a'), stream_in.GetC());
}
}
const char *buf = "12345";
(void)stream_out.Write(buf, 5);
- CPPUNIT_ASSERT(stream_out.LastWrite() == 5);
+ CPPUNIT_ASSERT_EQUAL(5, stream_out.LastWrite());
(void)stream_out.PutC('1');
- CPPUNIT_ASSERT(stream_out.LastWrite() == 1);
+ CPPUNIT_ASSERT_EQUAL(1, stream_out.LastWrite());
}
// Just try to perform a SeekO() on the output stream.
// Try to Seek in the stream...
// Note: streams not supporting this should register this test
// with CPPUNIT_TEST_FAIL instead of CPPUNIT_TEST.
- CPPUNIT_ASSERT(stream_out.SeekO(2, wxFromStart) == 2);
- CPPUNIT_ASSERT(stream_out.SeekO(2, wxFromCurrent) == 4);
+ CPPUNIT_ASSERT_EQUAL(2, stream_out.SeekO(2, wxFromStart));
+ CPPUNIT_ASSERT_EQUAL(4, stream_out.SeekO(2, wxFromCurrent));
// Not sure the following line is correct, so test it differently.
- //CPPUNIT_ASSERT(stream_out.SeekO(-2, wxFromEnd) == (off_t)stream_in.GetSize()-2);
+ //CPPUNIT_ASSERT_EQUAL(stream_in.GetSize()-2, stream_out.SeekO(-2, wxFromEnd));
CPPUNIT_ASSERT(stream_out.SeekO(-2, wxFromEnd) != wxInvalidOffset);
// Go beyond the stream size.
CPPUNIT_ASSERT((stream_out.SeekO(10, wxFromCurrent) == wxInvalidOffset) == m_bSeekInvalidBeyondEnd);
CleanupHelper cleanup(this);
TStreamOut &stream_out = CreateOutStream();
- // If this test is used, the stream must be seekable
- CPPUNIT_ASSERT( stream_out.IsSeekable() );
-
// Try to Get the location in the stream...
- CPPUNIT_ASSERT(stream_out.TellO() == 0);
+ CPPUNIT_ASSERT_EQUAL(0, stream_out.TellO());
(void)stream_out.PutC('1');
- CPPUNIT_ASSERT(stream_out.TellO() == 1);
+ CPPUNIT_ASSERT_EQUAL(1, stream_out.TellO());
if (!m_bSimpleTellOTest)
{
// First put some extra data in the stream, so it's not empty.
const char *buf = "1234567890";
(void)stream_out.Write(buf, 10);
- off_t pos = stream_out.SeekO(5, wxFromStart);
- CPPUNIT_ASSERT(stream_out.TellO() == pos);
+ wxFileOffset pos = stream_out.SeekO(5, wxFromStart);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_out.TellO());
(void)stream_out.PutC('1');
- CPPUNIT_ASSERT(stream_out.TellO() == 6);
+ CPPUNIT_ASSERT_EQUAL(6, stream_out.TellO());
pos = stream_out.SeekO(2, wxFromCurrent);
- CPPUNIT_ASSERT(stream_out.TellO() == pos);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_out.TellO());
pos = stream_out.SeekO(5, wxFromStart);
- CPPUNIT_ASSERT(stream_out.TellO() == pos);
+ CPPUNIT_ASSERT_EQUAL(pos, stream_out.TellO());
}
}
{
if (m_pCurrentIn)
{
- wxFAIL_MSG(_T("Error in test case, the previouse input stream needs to be delete first!"));
+ wxFAIL_MSG(wxT("Error in test case, the previouse input stream needs to be delete first!"));
}
m_pCurrentIn = DoCreateInStream();
{
if (m_pCurrentOut)
{
- wxFAIL_MSG(_T("Error in test case, the previouse output stream needs to be delete first!"));
+ wxFAIL_MSG(wxT("Error in test case, the previouse output stream needs to be delete first!"));
}
m_pCurrentOut = DoCreateOutStream();
return;
delete m_pCurrentIn;
m_pCurrentIn = NULL;
- // Incase something extra needs to be done.
+ // In case something extra needs to be done.
DoDeleteInStream();
}
void DeleteOutStream()
delete m_pCurrentOut;
m_pCurrentOut = NULL;
- // Incase something extra needs to be done.
+ // In case something extra needs to be done.
DoDeleteOutStream();
}