void ArrayDataTest::testproperty_UserAttributes() { ArrayData array; ParameterNameValueDefaultRequiredTypeList ¶ms = array.UserAttributes(); ParameterNameValueDefaultRequiredType vparam; vparam.SetName(L"user-att-name-1"); vparam.SetValueAscii("user-att-value-1"); vparam.SetDefaultValueAscii("user-att-defaultvalue-1"); vparam.RequiredFlag() = false; vparam.ControlledVocabulary().clear() ; params.push_back(vparam); vparam.SetName(L"user-att-name-2"); vparam.SetValueText(L"user-att-value-2"); vparam.SetDefaultValueText(L"user-att-defaultvalue-2"); vparam.RequiredFlag() = true; vparam.ControlledVocabulary().clear() ; params.push_back(vparam); vparam.SetName(L"user-att-name-3"); vparam.SetValueText(L"user-att-value-3"); vparam.SetDefaultValueText(L"user-att-defaultvalue-3"); vparam.RequiredFlag() = false; vparam.ControlledVocabulary().push_back(L"control1"); vparam.ControlledVocabulary().push_back(L"control2"); params.push_back(vparam); CPPUNIT_ASSERT( array.UserAttributes().size() == 3 ); ParameterNameValueDefaultRequiredTypeList::iterator it = array.UserAttributes().begin(); CPPUNIT_ASSERT( (*it).GetName() == L"user-att-name-1" ); CPPUNIT_ASSERT( (*it).GetValueAscii() == "user-att-value-1" ); CPPUNIT_ASSERT( (*it).GetDefaultValueAscii() == "user-att-defaultvalue-1" ); CPPUNIT_ASSERT( (*it).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*it).RequiredFlag() == false); ++it; CPPUNIT_ASSERT( (*it).GetName() == L"user-att-name-2" ); CPPUNIT_ASSERT( (*it).GetValueText() == L"user-att-value-2" ); CPPUNIT_ASSERT( (*it).GetDefaultValueText() == L"user-att-defaultvalue-2" ); CPPUNIT_ASSERT( (*it).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*it).RequiredFlag() == true); ++it; CPPUNIT_ASSERT( (*it).GetName() == L"user-att-name-3" ); CPPUNIT_ASSERT( (*it).GetValueText() == L"user-att-value-3" ); CPPUNIT_ASSERT( (*it).GetDefaultValueText() == L"user-att-defaultvalue-3" ); CPPUNIT_ASSERT( (*it).ControlledVocabulary().size() == 2 ); CPPUNIT_ASSERT( (*it).RequiredFlag() == false); std::list<std::wstring>::iterator controllIt = (*it).ControlledVocabulary().begin(); CPPUNIT_ASSERT( (*controllIt) == L"control1" ); ++controllIt; CPPUNIT_ASSERT( (*controllIt) == L"control2" ); ++it; CPPUNIT_ASSERT (it == array.UserAttributes().end() ); }
/*! Test the ability to read an Data Transfer Tool formated array file. */ void FusionArrayFileReaderTest::testmethod_Read_dtt_array_file() { FusionArrayFileReader reader; ArrayData data; CPPUNIT_ASSERT( reader.Read(MAGE_FILE, data) == true); CPPUNIT_ASSERT( data.ArraySetFileIdentifier() == std::string("")); CPPUNIT_ASSERT( data.PhysicalArraysAttributes().size() == 1); CPPUNIT_ASSERT( data.PhysicalArraysAttributes()[0].Identifier() == ""); const ParameterNameValuePairVector &arrayParams = data.PhysicalArraysAttributes()[0].Attributes(); CPPUNIT_ASSERT( arrayParams.size() == 1 ); ParameterNameValuePairVector::const_iterator arrayIt = arrayParams.begin(); CPPUNIT_ASSERT( (*arrayIt).Name == L"Probe Array Type" ); CPPUNIT_ASSERT( (*arrayIt).Value == L"Test3" ); ParameterNameValueDefaultRequiredTypeList &userParams = data.UserAttributes(); CPPUNIT_ASSERT( userParams.size() == 33 ); ParameterNameValueDefaultRequiredTypeList::iterator userIt = userParams.begin(); CPPUNIT_ASSERT( (*userIt).GetName() == L"GCOS Sample Name" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"Sample_with_Sample_Template" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Sample Template Name" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"MIAME Sample Information" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); userIt = userParams.end(); --userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Grid Alignment Passed" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); }
/*! Test the handling of attempting to read an array file that does not exist. */ void FusionArrayFileReaderTest::testmethod_Read_missing_file() { FusionArrayFileReader reader; ArrayData data; CPPUNIT_ASSERT( reader.Read("no_file", data) == false); CPPUNIT_ASSERT( data.ArraySetFileIdentifier() == ""); CPPUNIT_ASSERT( data.DataTypeIdentifier() == ""); CPPUNIT_ASSERT( data.PhysicalArraysAttributes().size() == 0); CPPUNIT_ASSERT( data.UserAttributes().size() == 0); }
/*! Test the ability to read an Micro Array Suit formated array file (EXP). */ void FusionArrayFileReaderTest::testmethod_Read_mas_array_file() { FusionArrayFileReader reader; ArrayData data; CPPUNIT_ASSERT( reader.Read(EXP_FILE, data) == true); CPPUNIT_ASSERT( data.ArraySetFileIdentifier() == std::string("")); CPPUNIT_ASSERT( data.PhysicalArraysAttributes().size() == 1); CPPUNIT_ASSERT( data.PhysicalArraysAttributes()[0].Identifier() == ""); const ParameterNameValuePairVector &arrayParams = data.PhysicalArraysAttributes()[0].Attributes(); CPPUNIT_ASSERT( arrayParams.size() == 1 ); ParameterNameValuePairVector::const_iterator arrayIt = arrayParams.begin(); CPPUNIT_ASSERT( (*arrayIt).Name == L"Probe Array Type" ); CPPUNIT_ASSERT( (*arrayIt).Value == L"Test3" ); ParameterNameValueDefaultRequiredTypeList &userParams = data.UserAttributes(); CPPUNIT_ASSERT( userParams.size() == 8 ); ParameterNameValueDefaultRequiredTypeList::iterator userIt = userParams.begin(); CPPUNIT_ASSERT( (*userIt).GetName() == L"Chip Lot" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"123" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Operator" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"ljevon" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Sample Type" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"s_type" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Description" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"Demo data" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Project" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"s_proj" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Comments" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"None" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Solution Type" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"sol type" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Solution Lot" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"123123" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; }
void ArrayDataTest::testmethod_Clear() { string id = "file_id"; ArrayData array; array.ArraySetFileIdentifier() = id; array.PhysicalArraysAttributes().resize(2); array.UserAttributes().resize(4); array.DataTypeIdentifier() = "affymetrix-calvin-arraysetfile"; array.CreatedStep() = ArrayRegistrationStep; array.InitialProject() = L"none"; array.CreationDateTime() = L"now"; array.CreatedBy() = L"me"; array.Clear(); CPPUNIT_ASSERT(array.ArraySetFileIdentifier() == ""); CPPUNIT_ASSERT(array.PhysicalArraysAttributes().size() == 0); CPPUNIT_ASSERT(array.UserAttributes().size() == 0); CPPUNIT_ASSERT(array.DataTypeIdentifier() == ""); CPPUNIT_ASSERT(array.CreatedStep() == NoStep); CPPUNIT_ASSERT(array.InitialProject() == L""); CPPUNIT_ASSERT(array.CreationDateTime() == L""); CPPUNIT_ASSERT(array.CreatedBy() == L""); }
/*! Test the ability to read a valid Calvin array file. */ void FusionArrayFileReaderTest::testmethod_Read_calvin_array_file() { FusionArrayFileReader reader; ArrayData array; CPPUNIT_ASSERT( reader.Read(CALVIN_FILE, array) == true); CPPUNIT_ASSERT( array.DataTypeIdentifier() == ARRAY_SET_FILE_TYPE_IDENTIFIER ); CPPUNIT_ASSERT( array.ArraySetFileIdentifier() == std::string("432-432-432-432")); CPPUNIT_ASSERT( array.CreatedStep() == ArrayRegistrationStep); CPPUNIT_ASSERT( array.InitialProject() == L"my_project"); CPPUNIT_ASSERT( array.CreationDateTime() == L"8/12/2005 9:00AM"); CPPUNIT_ASSERT( array.CreatedBy() == L"ljevon"); CPPUNIT_ASSERT( array.PhysicalArraysAttributes().size() == 1); ArrayAttributes &atts = array.PhysicalArraysAttributes()[0]; CPPUNIT_ASSERT( atts.Identifier() == "123-123-123-123"); CPPUNIT_ASSERT( atts.ArrayName() == "mychip"); CPPUNIT_ASSERT( atts.ArrayBarcode() == "@1234567890"); CPPUNIT_ASSERT( atts.Media() == PlateOrStripMedia); CPPUNIT_ASSERT( atts.MediaRow() == 1); CPPUNIT_ASSERT( atts.MediaCol() == 12); CPPUNIT_ASSERT( atts.MasterFile() == "Test3.master"); CPPUNIT_ASSERT( atts.MasterFileId() == "123-123-123-123"); CPPUNIT_ASSERT( atts.PatAssignment() == AffyBarcodeAssignment); CPPUNIT_ASSERT( atts.CreationDateTime() == L"8/12/2005 10:00AM"); CPPUNIT_ASSERT( atts.CreatedBy() == L"ljevon"); CPPUNIT_ASSERT( atts.CreatedStep() == ScanningStep); CPPUNIT_ASSERT( atts.Comment() == L"here is a comment"); ParameterNameValuePairVector ¶ms = atts.Attributes(); ParameterNameValuePairVector::iterator paramIt = params.begin(); CPPUNIT_ASSERT( params.size() == 2); CPPUNIT_ASSERT( (*paramIt).Name == L"SampleID"); CPPUNIT_ASSERT( (*paramIt).Value == L"433232"); ++paramIt; CPPUNIT_ASSERT( (*paramIt).Name == L"LIMS System"); CPPUNIT_ASSERT( (*paramIt).Value == L"Nautilis"); ParameterNameValueDefaultRequiredTypeList &userParams = array.UserAttributes(); CPPUNIT_ASSERT( userParams.size() == 6 ); ParameterNameValueDefaultRequiredTypeList::iterator userIt = userParams.begin(); CPPUNIT_ASSERT( (*userIt).GetName() == L"Species" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"H**o Sapien" ); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == true ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::TextParameterType); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Individual" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"me" ); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == false ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::TextParameterType); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"When" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"now" ); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == false ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::TimeParameterType); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"How much" ); const double eps = 1e-5; CPPUNIT_ASSERT_DOUBLES_EQUAL( (*userIt).GetValueFloat(), 1.0, eps); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == false ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::FloatParameterType); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Sex" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"" ); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == false ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::ControlMultiParameterType); std::list<std::wstring>::iterator cit = (*userIt).ControlMultiValues().begin(); CPPUNIT_ASSERT( (*cit) == L"Male" ); ++cit; CPPUNIT_ASSERT( (*cit) == L"Other" ); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 4 ); cit = (*userIt).ControlledVocabulary().begin(); CPPUNIT_ASSERT( (*cit) == L"Male" ); ++cit; CPPUNIT_ASSERT( (*cit) == L"Female" ); ++cit; CPPUNIT_ASSERT( (*cit) == L"Unknown" ); ++cit; CPPUNIT_ASSERT( (*cit) == L"Other" ); ++userIt; CPPUNIT_ASSERT( (*userIt).GetName() == L"Age" ); CPPUNIT_ASSERT( (*userIt).GetValueText() == L"30 something" ); CPPUNIT_ASSERT( (*userIt).RequiredFlag() == false ); CPPUNIT_ASSERT( (*userIt).ValueType() == ParameterNameValueDefaultRequiredType::TextParameterType); CPPUNIT_ASSERT( (*userIt).ControlledVocabulary().size() == 0 ); ++userIt; CPPUNIT_ASSERT (userIt == userParams.end() ); }