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(); }