Exemplo n.º 1
0
void CDFFileReader::Read(CDFData& data, ReadMode mode)
{
	data.Clear();
	//data.GetGenericData().UseMemoryMapping(false);
	GenericFileReader reader;
	if (fileName.empty())
		fileName = data.GetFilename();
	reader.SetFilename(fileName);
	reader.ReadHeader(data.GetGenericData(), GenericFileReader::ReadNoDataGroupHeader);

	switch(mode)
	{
	case ReadSequential:
		data.PrepareForSequentialAccess();
		break;
	case ReadByProbeSetNumber:
		data.PrepareForAccessByProbeSetIndex();
		break;
	case ReadByProbeSetName:
		data.PrepareForAccessByProbeSetName();
		break;
	default:
		data.PrepareForSequentialAccess();
		break;
	}
}
Exemplo n.º 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);
}