| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | 
							- ///////////////////////////////////////////////////////////////////////////////
 
- // Name:        tests/streams/ffilestream.cpp
 
- // Purpose:     Test wxFFileInputStream/wxFFileOutputStream
 
- // Author:      Hans Van Leemputten
 
- // Copyright:   (c) 2004 Hans Van Leemputten
 
- // Licence:     wxWindows licence
 
- ///////////////////////////////////////////////////////////////////////////////
 
- // For compilers that support precompilation, includes "wx/wx.h".
 
- // and "wx/cppunit.h"
 
- #include "testprec.h"
 
- #ifdef __BORLANDC__
 
-     #pragma hdrstop
 
- #endif
 
- // for all others, include the necessary headers
 
- #ifndef WX_PRECOMP
 
-     #include "wx/wx.h"
 
- #endif
 
- #include "wx/wfstream.h"
 
- #include "bstream.h"
 
- #define DATABUFFER_SIZE     1024
 
- static const wxString FILENAME_FFILEINSTREAM = wxT("ffileinstream.test");
 
- static const wxString FILENAME_FFILEOUTSTREAM = wxT("ffileoutstream.test");
 
- ///////////////////////////////////////////////////////////////////////////////
 
- // The test case
 
- //
 
- // Try to fully test wxFFileInputStream and wxFFileOutputStream
 
- class ffileStream : public BaseStreamTestCase<wxFFileInputStream, wxFFileOutputStream>
 
- {
 
- public:
 
-     ffileStream();
 
-     virtual ~ffileStream();
 
-     CPPUNIT_TEST_SUITE(ffileStream);
 
-         // Base class stream tests the ffileStream supports.
 
-         CPPUNIT_TEST(Input_GetSize);
 
-         CPPUNIT_TEST(Input_GetC);
 
-         CPPUNIT_TEST(Input_Read);
 
-         CPPUNIT_TEST(Input_Eof);
 
-         CPPUNIT_TEST(Input_LastRead);
 
-         CPPUNIT_TEST(Input_CanRead);
 
-         CPPUNIT_TEST(Input_SeekI);
 
-         CPPUNIT_TEST(Input_TellI);
 
-         CPPUNIT_TEST(Input_Peek);
 
-         CPPUNIT_TEST(Input_Ungetch);
 
-         CPPUNIT_TEST(Output_PutC);
 
-         CPPUNIT_TEST(Output_Write);
 
-         CPPUNIT_TEST(Output_LastWrite);
 
-         CPPUNIT_TEST(Output_SeekO);
 
-         CPPUNIT_TEST(Output_TellO);
 
-         // Other test specific for File stream test case.
 
-     CPPUNIT_TEST_SUITE_END();
 
- protected:
 
-     // Add own test here.
 
- private:
 
-     // Implement base class functions.
 
-     virtual wxFFileInputStream  *DoCreateInStream();
 
-     virtual wxFFileOutputStream *DoCreateOutStream();
 
-     virtual void DoDeleteOutStream();
 
- private:
 
-     wxString GetInFileName() const;
 
- };
 
- ffileStream::ffileStream()
 
- {
 
-     m_bSeekInvalidBeyondEnd = false;
 
-     m_bEofAtLastRead = false;
 
- }
 
- ffileStream::~ffileStream()
 
- {
 
-     // Remove the temp test file...
 
-     ::wxRemoveFile(FILENAME_FFILEINSTREAM);
 
-     ::wxRemoveFile(FILENAME_FFILEOUTSTREAM);
 
- }
 
- wxFFileInputStream *ffileStream::DoCreateInStream()
 
- {
 
-     wxFFileInputStream *pFileInStream = new wxFFileInputStream(GetInFileName());
 
-     CPPUNIT_ASSERT(pFileInStream->IsOk());
 
-     return pFileInStream;
 
- }
 
- wxFFileOutputStream *ffileStream::DoCreateOutStream()
 
- {
 
-     wxFFileOutputStream *pFileOutStream = new wxFFileOutputStream(FILENAME_FFILEOUTSTREAM);
 
-     CPPUNIT_ASSERT(pFileOutStream->IsOk());
 
-     return pFileOutStream;
 
- }
 
- void ffileStream::DoDeleteOutStream()
 
- {
 
-     ::wxRemoveFile(FILENAME_FFILEOUTSTREAM);
 
- }
 
- wxString ffileStream::GetInFileName() const
 
- {
 
-     static bool bFileCreated = false;
 
-     if (!bFileCreated)
 
-     {
 
-         // Create the file only once
 
-         bFileCreated = true;
 
-         // Make sure we have a input file...
 
-         char buf[DATABUFFER_SIZE];
 
-         wxFFileOutputStream out(FILENAME_FFILEINSTREAM);
 
-         // Init the data buffer.
 
-         for (size_t i = 0; i < DATABUFFER_SIZE; i++)
 
-             buf[i] = (i % 0xFF);
 
-         // Save the data
 
-         out.Write(buf, DATABUFFER_SIZE);
 
-     }
 
-     return FILENAME_FFILEINSTREAM;
 
- }
 
- // Register the stream sub suite, by using some stream helper macro.
 
- // Note: Don't forget to connect it to the base suite (See: bstream.cpp => StreamCase::suite())
 
- STREAM_TEST_SUBSUITE_NAMED_REGISTRATION(ffileStream)
 
 
  |