void DataSetTest_GenericData::ColsFromDataSetWithZeroRows() { GenericData gd; GenericFileReader reader; reader.SetFilename("../data/small_cel_file_with_dataset_of_zero_rows"); reader.ReadHeader(gd); // Open a DataSet that has 0 rows. DataSet* ds = gd.DataSet(0,3); CPPUNIT_ASSERT(ds); CPPUNIT_ASSERT(ds->Cols() == 2); CPPUNIT_ASSERT(ds->Rows() == 0); ds->Delete(); // Open another DataSet that has 0 rows. ds = gd.DataSet(0,4); CPPUNIT_ASSERT(ds); CPPUNIT_ASSERT(ds->Cols() == 2); CPPUNIT_ASSERT(ds->Rows() == 0); ds->Delete(); }
void GetRow(int row, RowDataType &d) { GenericData data; GenericFileReader reader; reader.SetFilename(TEST_FILE); reader.Open(data); DataSet *set = data.DataSet(0, 0); set->Open(); set->GetData(row, 0, d.str); set->GetData(row, 1, d.wstr); set->GetData(row, 2, d.b); set->GetData(row, 3, d.s); set->GetData(row, 4, d.i); set->GetData(row, 5, d.ub); set->GetData(row, 6, d.us); set->GetData(row, 7, d.ui); set->GetData(row, 8, d.f); set->Close(); set->Delete(); }
/* * Read the file contents into the data object. */ void GridControlFileReader::Read(const std::string &fileName, GridControlData& data) { // Clear the old data and read the file. data.Clear(); GenericFileReader reader; GenericData gdata; reader.SetFilename(fileName); reader.ReadHeader(gdata); // Check the file identifier if (gdata.FileIdentifier() != GRD_FILE_TYPE_IDENTIFIER) { affymetrix_calvin_exceptions::InvalidFileTypeException e(L"Calvin",L"Default Description, Please Update!",affymetrix_calvin_utilities::DateTime::GetCurrentDateTime().ToString(),std::string(__FILE__),(u_int16_t)__LINE__,0); throw e; } // Get the header parameters. ParameterNameValueType param; gdata.Header().GetGenericDataHdr()->FindNameValParam(GRD_ROWS_PARAMETER_NAME, param); data.SetRows(param.GetValueInt32()); gdata.Header().GetGenericDataHdr()->FindNameValParam(GRD_COLUMNS_PARAMETER_NAME, param); data.SetColumns(param.GetValueInt32()); // Get the XY coordinates from the dataSets. FeatureCoordinate coord; u_int16_t x; u_int16_t y; int nRows; DataSet *dataSet; // First the B1 probes. dataSet = gdata.DataSet(GRD_FILE_COORDINATE_GROUP_NAME, GRD_FILE_B1_SET_NAME); if (dataSet->Open() == false) { affymetrix_calvin_exceptions::DataSetNotOpenException e(L"Calvin",L"Default Description, Please Update!",affymetrix_calvin_utilities::DateTime::GetCurrentDateTime().ToString(),std::string(__FILE__),(u_int16_t)__LINE__,0); throw e; } nRows = dataSet->Rows(); data.ResizeB1(nRows); for (int iRow=0; iRow<nRows; iRow++) { dataSet->GetData(iRow, 0, x); dataSet->GetData(iRow, 1, y); coord.x = x; coord.y = y; data.SetB1(iRow, coord); } dataSet->Close(); dataSet->Delete(); // Next the B2 probes. dataSet = gdata.DataSet(GRD_FILE_COORDINATE_GROUP_NAME, GRD_FILE_B2_SET_NAME); if (dataSet->Open() == false) { affymetrix_calvin_exceptions::DataSetNotOpenException e(L"Calvin",L"Default Description, Please Update!",affymetrix_calvin_utilities::DateTime::GetCurrentDateTime().ToString(),std::string(__FILE__),(u_int16_t)__LINE__,0); throw e; } nRows = dataSet->Rows(); data.ResizeB2(nRows); for (int iRow=0; iRow<nRows; iRow++) { dataSet->GetData(iRow, 0, x); dataSet->GetData(iRow, 1, y); coord.x = x; coord.y = y; data.SetB2(iRow, coord); } dataSet->Close(); dataSet->Delete(); // Last the NS probes. dataSet = gdata.DataSet(GRD_FILE_COORDINATE_GROUP_NAME, GRD_FILE_NS_SET_NAME); if (dataSet->Open() == false) { affymetrix_calvin_exceptions::DataSetNotOpenException e(L"Calvin",L"Default Description, Please Update!",affymetrix_calvin_utilities::DateTime::GetCurrentDateTime().ToString(),std::string(__FILE__),(u_int16_t)__LINE__,0); throw e; } nRows = dataSet->Rows(); data.ResizeNS(nRows); for (int iRow=0; iRow<nRows; iRow++) { dataSet->GetData(iRow, 0, x); dataSet->GetData(iRow, 1, y); coord.x = x; coord.y = y; data.SetNS(iRow, coord); } dataSet->Close(); dataSet->Delete(); }