CDFCntrlFileWriter::CDFCntrlFileWriter(CDFData &p) { writer = new GenericFileWriter(p.GetFileHeader()); contentsPos = 0; WriteHeaders(); dataGroupWriter = 0; //skip ahead to the position of the first probe set dataSet int32_t probes = p.GetProbeSetCnt(); int32_t size = probes * ((MAX_CDF_PROBE_SET_NAME_LENGTH * 2) + 8); writer->SeekFromCurrentPos(size); // Set the file position of the next DataGroup writer->GetDataGroupWriter(0).UpdateNextDataGroupPos(); }
void CDFFileReaderTest::ReadSmallCDFFileBasicTest() { CDFData data; CDFFileReader reader; CPPUNIT_ASSERT_NO_THROW(reader.SetFilename(SMALL_CDF_FILE)); CPPUNIT_ASSERT_NO_THROW(reader.Read(data)); CPPUNIT_ASSERT(data.GetFilename() == SMALL_CDF_FILE); FileHeader* fh = data.GetFileHeader(); u_int32_t pos = fh->GetFirstDataGroupFilePos(); CPPUNIT_ASSERT(pos == 0x1BD); CPPUNIT_ASSERT(data.GetProbeSetCnt() == 10); CPPUNIT_ASSERT(data.GetArrayRows() == 10*2); CPPUNIT_ASSERT(data.GetArrayCols() == 11); }