// // Created by kifir on 6/18/24. // #pragma once #include "util/test_base.h" class AcTestConfig { public: std::optional getAcDelay() const { return m_acDelay; } std::optional getMinAcPressure() const { return m_minAcPressure; } std::optional getMaxAcPressure() const { return m_maxAcPressure; } std::optional getAcPressureEnableHysteresis() const { return m_AcPressureEnableHysteresis; } protected: void setAcDelay(const std::optional value) { m_acDelay = value; } void setMinAcPressure(const std::optional value) { m_minAcPressure = value; } void setMaxAcPressure(const std::optional value) { m_maxAcPressure = value; } void setAcPressureEnableHysteresis(const std::optional value) { m_AcPressureEnableHysteresis = value; } private: std::optional m_acDelay; std::optional m_minAcPressure; std::optional m_maxAcPressure; std::optional m_AcPressureEnableHysteresis; }; class AcTestBase : public TestBase<> { protected: void updateAcPressure(float acPressure); void setUpTestConfig(const AcTestConfig& config); private: void configureAcDelay(std::optional acDelay); void configureMinAcPressure(std::optional minAcPressure); void configureMaxAcPressure(std::optional maxAcPressure); void configureAcPressureEnableHysteresis(std::optional acPressureEnableHysteresis); };