コード例 #1
0
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();
}
コード例 #2
0
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);
}