void BinaryFileTestCase::testSeek() { tstring str = TestHelper::getTestDataPath(_T("BinaryFileTestSeek"), false); BinaryFile fileWriter; fileWriter.open(str, BinaryFile::CREATE); CPPUNIT_ASSERT( fileWriter.isFileOpen() ); int32_t nData; for(size_t i = 0; i < 1000; ++i) { nData = (int32_t)i; fileWriter.write(&nData, sizeof(int32_t)); } fileWriter.close(); BinaryFile fileReader; fileReader.open(str, BinaryFile::READ); CPPUNIT_ASSERT( fileReader.isFileOpen() ); CPPUNIT_ASSERT((int64_t)1000 * sizeof(int32_t) == fileReader.getLength()); CPPUNIT_ASSERT_EQUAL((int64_t)0, fileReader.getPos()); fileReader.seek(10); CPPUNIT_ASSERT_EQUAL((int64_t)10, fileReader.getPos()); fileReader.close(); //Remove file File f(str); f.remove(); }
void XMLDocumentWrapper::printToFile(std::string& sFile) { ostringstream os; print(os); BinaryFile bf; bf.open(sFile, BinaryFile::CREATE); bf.write(os.str().c_str(), os.str().length()); }
string TrecDocumentProcessorTestCase::writeTestFile(const string& sFileName, const char* szFileContent) { std::string sPath = getTestOutputPath(); sPath += "/" + sFileName; BinaryFile bf; bf.open(sPath, BinaryFile::CREATE); bf.write(szFileContent, strlen(szFileContent)); bf.close(); return sPath; }
void BinaryFileTestCase::testWrite() { tstring str = TestHelper::getTestDataPath(_T("BinaryFileTestWriteFile"), false); BinaryFile bf; bf.open(str.c_str(), BinaryFile::CRTR); CPPUNIT_ASSERT( bf.isFileOpen() ); int32_t nData; for(size_t i = 0; i < 10000; i += 1000) { nData = (int32_t)i; bf.seek(i); bf.write(&nData,sizeof(int32_t)); } bf.close(); }
void BinaryFileTestCase::testLargeFileWrite() { #ifdef TEST_LARGE_FILE BinaryFile bf; tstring str = TestHelper::getTestDataPath(_T("BinaryFileTestLargeFile"), false); bf.open(str.c_str(),BinaryFile::CRTR); CPPUNIT_ASSERT( bf.isFileOpen() ); int64_t nPos = 1000000000;//1 GB nPos <<= 4;//16 GB bf.seek(nPos); int64_t nData = 123456789; bf.write(&nData,sizeof(int64_t)); bf.close(); #endif }