void CalvinCHPQuantificationFileUpdaterTest::testQuantification()
{
	CreateReferenceFile();

	CalvinCHPQuantificationFileUpdater upd;
	upd.Initialize(TEST_FILE);
	upd.UpdateQuantification(0, 123.0f);
	upd.UpdateQuantification(2, 222.0f);

	CHPQuantificationData data;
	CHPQuantificationFileReader reader;
	CPPUNIT_ASSERT_NO_THROW(reader.SetFilename(TEST_FILE));
	CPPUNIT_ASSERT_NO_THROW(reader.Read(data));
	CPPUNIT_ASSERT(data.GetEntryCount() == 4);

	ProbeSetQuantificationData e;
	data.GetQuantificationEntry(0, e);
	CPPUNIT_ASSERT(e.name == "1");
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 123.0f, 0.000001f);
	data.GetQuantificationEntry(1, e);
	CPPUNIT_ASSERT(e.name == "2");
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 20.0f, 0.000001f);
	data.GetQuantificationEntry(2, e);
	CPPUNIT_ASSERT(e.name == "3");
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 222.0f, 0.000001f);
	data.GetQuantificationEntry(3, e);
	CPPUNIT_ASSERT(e.name == "4");
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 40.0f, 0.000001f);
}
コード例 #2
0
/*
 * Read the file.
 */
bool FusionCHPQuantificationData::Read()
{
	CHPQuantificationFileReader reader;
	reader.SetFilename(filename);
	try
	{
		reader.Read(chpData);
		return true;
	}
	catch(...)
	{
		return false;
	}
}
コード例 #3
0
void CHPQuantificationFileReaderTest::testReadId()
{
	CHPQuantificationData data;
	CHPQuantificationFileReader reader;
	CPPUNIT_ASSERT_NO_THROW(reader.SetFilename("../data/CHP_quantification_file_id"));
	CPPUNIT_ASSERT_NO_THROW(reader.Read(data));

	CPPUNIT_ASSERT(data.GetFilename() == "../data/CHP_quantification_file_id");
	CPPUNIT_ASSERT(data.GetAlgName() == L"sig");
	CPPUNIT_ASSERT(data.GetAlgVersion() == L"1.0");
	CPPUNIT_ASSERT(data.GetArrayType() == L"test3");
	CPPUNIT_ASSERT(data.GetEntryCount() == 2);
	
	ParameterNameValueTypeList params = data.GetAlgParams();
	CPPUNIT_ASSERT(params.size() == 1);
	ParameterNameValueTypeList::iterator it=params.begin();
	ParameterNameValueType param = *it;
	CPPUNIT_ASSERT(param.GetName() == L"an1");
	CPPUNIT_ASSERT(param.GetValueText() == L"av1");

	params = data.GetSummaryParams();
	CPPUNIT_ASSERT(params.size() == 1);
	it=params.begin();
	param = *it;
	CPPUNIT_ASSERT(param.GetName() == L"sn1");
	CPPUNIT_ASSERT(param.GetValueText() == L"sv1");

	ProbeSetQuantificationData e;
	data.GetQuantificationEntry(0, e);
	CPPUNIT_ASSERT(e.id == 10);
	CPPUNIT_ASSERT(e.quantification == 10.0f);
	CPPUNIT_ASSERT(e.name == "");
	data.GetQuantificationEntry(1, e);
	CPPUNIT_ASSERT(e.id == 20);
	CPPUNIT_ASSERT(e.quantification == 20.0f);
	CPPUNIT_ASSERT(e.name == "");
}
void CHPQuantificationFileWriterTest::WriteTest()
{
	ParameterNameValueTypeList params;
	ParameterNameValueType param;

	CHPQuantificationData data("CHP_quantification_file");

	data.SetAlgName(L"sig");
	data.SetAlgVersion(L"1.0");
	data.SetArrayType(L"test3");
	data.SetEntryCount(2, 10);

	param.SetName(L"an1");
	param.SetValueText(L"av1");
	params.push_back(param);
	data.AddAlgParams(params);

	params.clear();
	param.SetName(L"sn1");
	param.SetValueText(L"sv1");
	params.push_back(param);
	data.AddSummaryParams(params);


	CHPQuantificationFileWriter *writer = new CHPQuantificationFileWriter(data);
	affymetrix_calvin_data::ProbeSetQuantificationData e;

	writer->SeekToDataSet();
	e.name = "abc";
	e.quantification = 10.0f;
	writer->WriteEntry(e);
	e.name = "xyz";
	e.quantification = 20.0f;
	writer->WriteEntry(e);

	delete writer;

	CPPUNIT_ASSERT(1);




	CHPQuantificationData data2;
	CHPQuantificationFileReader reader;
	reader.SetFilename("CHP_quantification_file");
	reader.Read(data2);

	CPPUNIT_ASSERT(data2.GetAlgName() == L"sig");
	CPPUNIT_ASSERT(data2.GetAlgVersion() == L"1.0");
	CPPUNIT_ASSERT(data2.GetArrayType() == L"test3");
	CPPUNIT_ASSERT(data2.GetEntryCount() == 2);

	ParameterNameValueTypeList p = data2.GetAlgParams();
	ParameterNameValueTypeList::iterator it = p.begin();
	param = *it;
	CPPUNIT_ASSERT(param.GetName() == L"an1");
	CPPUNIT_ASSERT(param.GetValueText() == L"av1");

	p = data2.GetSummaryParams();
	it = p.begin();
	param = *it;
	CPPUNIT_ASSERT(param.GetName() == L"sn1");
	CPPUNIT_ASSERT(param.GetValueText() == L"sv1");


	data2.GetQuantificationEntry(0, e);
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 10.0f, 0.0001f);
	CPPUNIT_ASSERT(e.name == "abc");
	data2.GetQuantificationEntry(1, e);
	CPPUNIT_ASSERT_DOUBLES_EQUAL(e.quantification, 20.0f, 0.0001f);
	CPPUNIT_ASSERT(e.name == "xyz");

}