Example #1
0
void GenericDataTest_MinDPH::DataSetByIndexTest()
{
	// Check that a MinDP will be read-in completely before being accessed through GenericData.
	DataSet* dp = data->DataSet(0,0);
	CPPUNIT_ASSERT(dp);
	const DataSetHeader& dph = dp->Header();

	CPPUNIT_ASSERT(dph.GetName() == L"acquired data");
	CPPUNIT_ASSERT(dph.GetDataStartFilePos() != 0);
	CPPUNIT_ASSERT(dph.GetNameValParamCnt() == 2);
	CPPUNIT_ASSERT(dph.GetRowSize() == sizeof(u_int16_t));
	CPPUNIT_ASSERT(dph.GetDataSize() == sizeof(u_int16_t)*100);
	CPPUNIT_ASSERT(dph.GetRowCnt() == 100);
	CPPUNIT_ASSERT(dph.GetColumnCnt() == 1);
	CPPUNIT_ASSERT(dph.GetDataStartFilePos() == 0x3a0);

	// Check the data group name value pairs
	ParameterNameValueTypeConstIt nvpBegin, nvpEnd;
	dph.GetNameValIterators(nvpBegin, nvpEnd);
	CPPUNIT_ASSERT(nvpBegin != nvpEnd);
	CPPUNIT_ASSERT(nvpBegin->GetName() == L"Scanner");
	CPPUNIT_ASSERT(nvpBegin->GetValueText() == L"M10");
	++nvpBegin;
	CPPUNIT_ASSERT(nvpBegin != nvpEnd);
	CPPUNIT_ASSERT(nvpBegin->GetName() == L"Pixel Size");
	CPPUNIT_ASSERT(nvpBegin->GetValueFloat() == 0.051f);
	++nvpBegin;
	CPPUNIT_ASSERT(nvpBegin == nvpEnd);

	// Check the data set columns
	CPPUNIT_ASSERT(dph.GetColumnInfo(0).GetColumnType() == UShortColType);
	CPPUNIT_ASSERT(dph.GetColumnInfo(0).GetSize() == sizeof(u_int16_t));

	dp->Delete();
}