00001 #ifndef ZIPIOS_ZIPFILETEST_H
00002 #define ZIPIOS_ZIPFILETEST_H
00003
00004 #include <string>
00005 #include <vector>
00006
00007 #include <cppunit/TestCase.h>
00008 #include <cppunit/TestSuite.h>
00009 #include <cppunit/TestAssert.h>
00010 #include <cppunit/extensions/HelperMacros.h>
00011
00012 #include "zipios++/zipoutputstream.h"
00013
00014 namespace zipios {
00015
00016 using std::string;
00017 using std::vector;
00018 using std::istream;
00019
00020 class ZipFileTest : public CppUnit::TestCase {
00021 public:
00022 CPPUNIT_TEST_SUITE(ZipFileTest);
00023 CPPUNIT_TEST(testUnzip);
00024 CPPUNIT_TEST(testZipUnzip);
00025 CPPUNIT_TEST(testComment);
00026 CPPUNIT_TEST(testClone);
00027 CPPUNIT_TEST_SUITE_END();
00028
00029 void testUnzip();
00030 void testZipUnzip();
00031 void testComment();
00032 void testClone();
00033
00034 private:
00035 static void writeZipFile(const string &zipFileName,
00036 vector<string> entryFileNames);
00037 static void compareZipFile(const string &zipFileName,
00038 vector<string> entryFileNames);
00039 static void writeFileToZipOutputStream(ZipOutputStream &zos,
00040 const string &filename );
00041 static void compareStreams(const std::string& entryName,
00042 istream &is1, istream &is2);
00043 };
00044
00045 }
00046
00047 #endif