delete ptr;
}
END_SECTION

START_SECTION((virtual const String& getName() const =0))
{
  IsobaricQuantitationMethod* quant_method = new TestQuantitationMethod();
  TEST_STRING_EQUAL(quant_method->getName(), "TestQuantitationMethod")
}
END_SECTION

START_SECTION((virtual const IsobaricChannelList& getChannelInformation() const =0))
{
  IsobaricQuantitationMethod* quant_method = new TestQuantitationMethod();
  IsobaricQuantitationMethod::IsobaricChannelList cl = quant_method->getChannelInformation();
  TEST_EQUAL(cl.size(), 4)
  ABORT_IF(cl.size() != 4)

  TEST_STRING_EQUAL(cl[0].description, "")
  TEST_EQUAL(cl[0].name, 114)
  TEST_EQUAL(cl[0].id, 0)
  TEST_EQUAL(cl[0].center, 114.1112)
}
END_SECTION

START_SECTION((virtual Size getNumberOfChannels() const =0))
{
  IsobaricQuantitationMethod* quant_method = new TestQuantitationMethod();
  TEST_EQUAL(quant_method->getNumberOfChannels(), 4)
}
END_SECTION
}
END_SECTION

START_SECTION((const String& getName() const ))
{
  TMTSixPlexQuantitationMethod quant_meth;
  TEST_EQUAL(quant_meth.getName(), "tmt6plex")
}
END_SECTION

START_SECTION((const IsobaricChannelList& getChannelInformation() const ))
{
  TMTSixPlexQuantitationMethod quant_meth;
  IsobaricQuantitationMethod::IsobaricChannelList channel_list = quant_meth.getChannelInformation();
  
  TEST_EQUAL(channel_list.size(), 6)
  ABORT_IF(channel_list.size() != 6)
  
  // descriptions are empty by default
  TEST_STRING_EQUAL(channel_list[0].description, "")
  TEST_STRING_EQUAL(channel_list[1].description, "")
  TEST_STRING_EQUAL(channel_list[2].description, "")
  TEST_STRING_EQUAL(channel_list[3].description, "")
  TEST_STRING_EQUAL(channel_list[4].description, "")
  TEST_STRING_EQUAL(channel_list[5].description, "")
    
  // check masses&co
  TEST_EQUAL(channel_list[0].name, 126)
  TEST_EQUAL(channel_list[0].id, 0)
  TEST_EQUAL(channel_list[0].center, 126.127725)
        
}
END_SECTION

START_SECTION((const String& getName() const ))
{
  TMTTenPlexQuantitationMethod quant_meth;
  TEST_EQUAL(quant_meth.getName(), "tmt10plex")
}
END_SECTION

START_SECTION((const IsobaricChannelList& getChannelInformation() const ))
{
  TMTTenPlexQuantitationMethod quant_meth;
  IsobaricQuantitationMethod::IsobaricChannelList channel_list = quant_meth.getChannelInformation();

  TEST_EQUAL(channel_list.size(), 10)
  ABORT_IF(channel_list.size() != 10)

  // descriptions are empty by default
  TEST_STRING_EQUAL(channel_list[0].description, "")
  TEST_STRING_EQUAL(channel_list[1].description, "")
  TEST_STRING_EQUAL(channel_list[2].description, "")
  TEST_STRING_EQUAL(channel_list[3].description, "")
  TEST_STRING_EQUAL(channel_list[4].description, "")
  TEST_STRING_EQUAL(channel_list[5].description, "")
  TEST_STRING_EQUAL(channel_list[6].description, "")
  TEST_STRING_EQUAL(channel_list[7].description, "")
  TEST_STRING_EQUAL(channel_list[8].description, "")
  TEST_STRING_EQUAL(channel_list[9].description, "")

  // check masses&co