aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/testing/Requirement.hpp
blob: 85a1573bdfad87c4177f06b751a401cdef255f98 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
#include <string>
#include "openvic-simulation/utility/Getters.hpp"

namespace OpenVic {

   class Requirement {

      // Loaded during construction
      std::string PROPERTY(id);
      std::string PROPERTY(text);
      std::string PROPERTY(acceptance_criteria);
      bool PROPERTY(pass);
      bool PROPERTY_RW(tested);

      // Initialised and used during script execution
      std::string PROPERTY(target_value);
      std::string PROPERTY(actual_value);

   public:
      Requirement(std::string in_id, std::string in_text, std::string in_acceptance_criteria) {
         id = in_id;
         text = in_text;
         acceptance_criteria = in_acceptance_criteria;
         pass = false; // Explicitly false to begin
         tested = false;
      }

      void set_pass(bool in_pass);
      void set_target_value(std::string_view new_target_value);
      void set_actual_value(std::string_view new_actual_value);
   };
}