Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Framework/include/QualityControl/QualityObject.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@ class QualityObject : public TObject
/// \brief Get a metadata
/// \return the value corresponding to the key if it was found.
/// \throw ObjectNotFoundError in case the key is not found.
std::string getMetadata(std::string key);
std::string getMetadata(std::string key) const;
/// \brief Get a metadata
/// \return the value corresponding to the key if it was found, default value otherwise
std::string getMetadata(std::string key, std::string defaultValue);
std::string getMetadata(std::string key, std::string defaultValue) const;

/// \brief Build the path to this object.
/// Build the path to this object as it will appear in the GUI.
Expand Down
2 changes: 1 addition & 1 deletion Framework/src/Quality.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ const Quality Quality::Bad(3, "Bad");
const Quality Quality::Null(NullLevel, "Null"); // we consider it the worst of the worst

Quality::Quality(unsigned int level, std::string name) : mLevel(level), mName(name), mUserMetadata{} {}
Quality::Quality(const Quality& q) : mLevel(q.mLevel), mName(q.mName), mUserMetadata{} {}
Quality::Quality(const Quality& q) : mLevel(q.mLevel), mName(q.mName), mUserMetadata{ q.mUserMetadata } {}

unsigned int Quality::getLevel() const { return mLevel; }

Expand Down
6 changes: 3 additions & 3 deletions Framework/src/QualityObject.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ QualityObject::QualityObject(
mMonitorObjectsNames{ std::move(monitorObjectsNames) },
mRunNumber(runNumber)
{
mQuality.overwriteMetadata(metadata);
mQuality.overwriteMetadata(std::move(metadata));
}

QualityObject::~QualityObject() = default;
Expand Down Expand Up @@ -95,12 +95,12 @@ void QualityObject::updateMetadata(std::string key, std::string value)
mQuality.updateMetadata(key, value);
}

std::string QualityObject::getMetadata(std::string key)
std::string QualityObject::getMetadata(std::string key) const
{
return mQuality.getMetadata(key);
}

std::string QualityObject::getMetadata(std::string key, std::string defaultValue)
std::string QualityObject::getMetadata(std::string key, std::string defaultValue) const
{
return mQuality.getMetadata(key, defaultValue);
}
Expand Down
39 changes: 38 additions & 1 deletion Framework/test/testQualityObject.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,44 @@ using namespace std;
using namespace o2::quality_control::test;
using namespace o2::quality_control::core;

BOOST_AUTO_TEST_CASE(quality_object_test)
BOOST_AUTO_TEST_CASE(quality_object_test_constructors)
{
QualityObject qo(Quality::Medium,
"xyzCheck",
"TST",
"",
{ "qc/TST/testTask/mo1", "qc/TST/testTask/mo2" },
{},
{ { "probability", "0.45" }, { "threshold_medium", "0.42" } });

BOOST_CHECK_EQUAL(qo.getName(), "xyzCheck");
BOOST_CHECK(strcmp(qo.GetName(), "xyzCheck") == 0);
BOOST_CHECK_EQUAL(qo.getDetectorName(), "TST");
BOOST_CHECK_EQUAL(qo.getQuality(), Quality::Medium);
BOOST_REQUIRE_EQUAL(qo.getInputs().size(), 2);
BOOST_CHECK_EQUAL(qo.getInputs()[0], "qc/TST/testTask/mo1");
BOOST_CHECK_EQUAL(qo.getInputs()[1], "qc/TST/testTask/mo2");
BOOST_REQUIRE_EQUAL(qo.getMetadataMap().count("probability"), 1);
BOOST_CHECK_EQUAL(qo.getMetadataMap().at("probability"), "0.45");
BOOST_REQUIRE_EQUAL(qo.getMetadataMap().count("threshold_medium"), 1);
BOOST_CHECK_EQUAL(qo.getMetadataMap().at("threshold_medium"), "0.42");

auto qo2 = qo;

BOOST_CHECK_EQUAL(qo2.getName(), "xyzCheck");
BOOST_CHECK(strcmp(qo2.GetName(), "xyzCheck") == 0);
BOOST_CHECK_EQUAL(qo2.getDetectorName(), "TST");
BOOST_CHECK_EQUAL(qo2.getQuality(), Quality::Medium);
BOOST_REQUIRE_EQUAL(qo2.getInputs().size(), 2);
BOOST_CHECK_EQUAL(qo2.getInputs()[0], "qc/TST/testTask/mo1");
BOOST_CHECK_EQUAL(qo2.getInputs()[1], "qc/TST/testTask/mo2");
BOOST_REQUIRE_EQUAL(qo2.getMetadataMap().count("probability"), 1);
BOOST_CHECK_EQUAL(qo2.getMetadataMap().at("probability"), "0.45");
BOOST_REQUIRE_EQUAL(qo2.getMetadataMap().count("threshold_medium"), 1);
BOOST_CHECK_EQUAL(qo2.getMetadataMap().at("threshold_medium"), "0.42");
}

BOOST_AUTO_TEST_CASE(quality_object_test_setters)
{
QualityObject qo(Quality::Null, "xyzCheck");
qo.setDetectorName("INVALID");
Expand Down