SmartTester  2.0.0
Smart Tester is unit testing and regression testing framework used for testing SmartCGMS system.
FilterConfiguration.h
1 //
2 // Author: markovd@students.zcu.cz
3 //
4 
5 #ifndef SMARTTESTER_FILTERCONFIGURATION_H
6 #define SMARTTESTER_FILTERCONFIGURATION_H
7 
8 #include <string>
9 #include <rtl/guid.h>
10 #include <vector>
11 
12 namespace tester {
13 
14  class FilterConfig {
15  private:
16  static inline const char* PARAM_SEPARATOR = "\n\n";
17  static inline const char* HEADER = "[Filter_001_";
18 
19  const GUID m_filterId;
20  public:
21  explicit FilterConfig(const GUID& filterId);
22  [[nodiscard]] virtual std::string toString() const = 0;
23  static const char* getParamSeparator();
24  std::string getHeader() const;
25  const GUID & getFilterID() const;
26  };
27 
28  class LogFilterConfig : public FilterConfig {
29  private:
30  std::string m_logFile;
31  public:
32  explicit LogFilterConfig(std::string logFile = "");
33  std::string toString() const override;
34  const std::string& getLogFile() const;
35  void setLogFile(std::string logFile);
36  };
37 
39  private:
40  int32_t m_canvasWidth;
41  int32_t m_canvasHeight;
42  std::string m_graphFilePath;
43  std::string m_dayFilePath;
44  std::string m_agpFilePath;
45  std::string m_parkesFilePath;
46  std::string m_clarkFilePath;
47  std::string m_ecdfFilePath;
48  public:
49  DrawingFilterConfig(int32_t canvasWidth = 0, int32_t canvasHeight = 0);
50  std::string toString() const override;
51 
52  int32_t getCanvasWidth() const;
53  void setCanvasWidth(int32_t canvasWidth);
54  int32_t getCanvasHeight() const;
55  void setCanvasHeight(int32_t canvasHeight);
56  const std::string &getGraphFilePath() const;
57  void setGraphFilePath(std::string graphFilePath);
58  const std::string &getDayFilePath() const;
59  void setDayFilePath(std::string dayFilePath);
60  const std::string &getAgpFilePath() const;
61  void setAgpFilePath(std::string agpFilePath);
62  const std::string &getParkesFilePath() const;
63  void setParkesFilePath(std::string parkesFilePath);
64  const std::string &getClarkFilePath() const;
65  void setClarkFilePath(std::string clarkFilePath);
66  const std::string &getEcdfFilePath() const;
67  void setEcdfFilePath(std::string ecdfFilePath);
68  };
69 
71  private:
72  GUID m_signalSrcId;
73  GUID m_signalDstId;
74  public:
75  MappingFilterConfig(const GUID& signalSrcId = Invalid_GUID, const GUID& signalDstId = Invalid_GUID);
76 
77  std::string toString() const override;
78  const GUID &getSignalSrcId() const;
79  void setSignalSrcId(const GUID &signalSrcId);
80  const GUID &getSignalDstId() const;
81  void setSignalDstId(const GUID &signalDstId);
82  };
83 
85  private:
86  GUID m_signalId;
87  std::string m_bitmask;
88  public:
89  MaskingFilterConfig(const GUID& signalId = Invalid_GUID, std::string bitmask = "");
90 
91  std::string toString() const override;
92  const GUID &getSignalId() const;
93  void setSignalId(const GUID &signalId);
94  const std::string &getBitmask() const;
95  void setBitmask(const std::string &bitmask);
96  };
97 
99  private:
100  std::string m_logFile;
101  bool m_emitShutdown = false;
102  bool m_filenameAsSegmentId = false;
103  public:
104  LogReplayFilterConfig(std::string logFile = "");
105 
106  std::string toString() const override;
107  const std::string &getLogFile() const;
108  void setLogFile(const std::string &logFile);
109  bool isEmitShutdown() const;
110  void setEmitShutdown(bool emitShutdown);
111  bool isFilenameAsSegmentId() const;
112  void setFilenameAsSegmentId(bool filenameAsSegmentId);
113  };
114 
116  private:
117  GUID m_modelId;
118  std::string m_feedbackName;
119  bool m_synchronizeToSignal = false;
120  GUID m_synchronizationSignal{};
121  int64_t m_timeSegmentId = -1;
122  double m_stepping = -1.0;
123  double m_maximumTime = -1.0;
124  bool m_shutDownAfterLast = false;
125  bool m_echoDefaultParametersAsEvent = false;
126  std::vector<double> m_parameters;
127  public:
128  SignalGeneratorConfig(const GUID& modelId = Invalid_GUID);
129 
130  std::string toString() const override;
131  const GUID &getModelId() const;
132  void setModelId(const GUID &modelId);
133  const std::string &getFeedbackName() const;
134  void setFeedbackName(const std::string &feedbackName);
135  bool isSynchronizeToSignal() const;
136  void setSynchronizeToSignal(bool synchronizeToSignal);
137  const GUID &getSynchronizationSignal() const;
138  void setSynchronizationSignal(const GUID &synchronizationSignal);
139  int64_t getTimeSegmentId() const;
140  void setTimeSegmentId(int64_t timeSegmentId);
141  double getStepping() const;
142  void setStepping(double stepping);
143  double getMaximumTime() const;
144  void setMaximumTime(double maximumTime);
145  bool isShutDownAfterLast() const;
146  void setShutDownAfterLast(bool mShutDownAfterLast);
147  bool isEchoDefaultParametersAsEvent() const;
148  void setEchoDefaultParametersAsEvent(bool mEchoDefaultParametersAsEvent);
149  const std::vector<double> &getParameters() const;
150  void setParameters(const std::vector<double> &parameters);
151 
152  private:
153  std::string parametersToString() const;
154  };
155 }
156 #endif //SMARTTESTER_FILTERCONFIGURATION_H
tester::MaskingFilterConfig
Definition: FilterConfiguration.h:84
tester::LogReplayFilterConfig
Definition: FilterConfiguration.h:98
tester::SignalGeneratorConfig::toString
std::string toString() const override
Definition: FilterConfiguration.cpp:298
tester::MappingFilterConfig
Definition: FilterConfiguration.h:70
tester::SignalGeneratorConfig
Definition: FilterConfiguration.h:115
tester::FilterConfig
Definition: FilterConfiguration.h:14
tester::LogFilterConfig
Definition: FilterConfiguration.h:28
tester::DrawingFilterConfig
Definition: FilterConfiguration.h:38