// Copyrigth Xtooltech @ 2023- All rights reserved.(LXH)

#ifndef __PRINT_RESULT_ITEM_HPP__
#define __PRINT_RESULT_ITEM_HPP__

#include <string>
#include <vector>
#include "StationDataECU.hpp"
#include "JsonSerializable.hpp"

namespace otx {
namespace jidu {

/**
 * @brief 打印结果中的小项。
 *
 */
class PrintResultItem:virtual public JsonSerializable {
public:
  PrintResultItem();
  PrintResultItem(const PrintResultItem &) = default;
  PrintResultItem &operator=(const PrintResultItem &) = default;
  virtual ~PrintResultItem() = default;

private:
  std::string mTestBlockName;
  std::string mTestBlockId;
  std::string mTestBlockResult;
  std::vector<std::string> mFailReason;

public:
  virtual std::string getTestBlockName();
  virtual void setTestBlockName(const std::string &v);

  virtual std::string getTestBlockId();
  virtual void setTestBlockId(const std::string &v);

  virtual std::string getTestBlockResult();
  virtual void setTestBlockResult(const std::string &v);

  virtual std::vector<std::string> *getFailReason();
  virtual void addFailReason(const std::string &v);

  virtual std::string toJsonString() override;
};

} // namespace jidu
} // namespace otx

#endif /* __PRINT_RESULT_ITEM_HPP__ */
