#include "itemrequiredpolicy.h"
#include "item.h"

ItemRequiredPolicy::ItemRequiredPolicy(const std::string& satisfaction, const std::string& dissatisfaction) :
    Policy(satisfaction, dissatisfaction)
{}

ItemRequiredPolicy::~ItemRequiredPolicy()
{}

Policy::CheckResult ItemRequiredPolicy::check() const
{
    bool success = _item->isReceived();
    return composeMessageFromResult(success);
}

void ItemRequiredPolicy::setRequiredItem(const std::shared_ptr<Item> &item)
{
    _item = item;
}