mirror of
https://github.com/esphome/esphome.git
synced 2026-10-08 03:54:03 +00:00
29 lines
882 B
C++
29 lines
882 B
C++
#include "gtest/gtest.h"
|
|
#include "esphome/components/espectre/sensor/espectre_diagnostics.h"
|
|
|
|
#ifdef ESPECTRE_SDK_TEST_DOUBLE
|
|
|
|
namespace esphome::espectre::testing {
|
|
|
|
TEST(ESPectreDiagnosticsTest, PublishOnUpdate) {
|
|
ESPectreComponent component;
|
|
auto *sdk = ::espectre::RuntimeFrontendController::instance;
|
|
sensor::Sensor accepted;
|
|
sensor::Sensor occupancy;
|
|
DiagnosticsUpdater updater(&component);
|
|
updater.set_csi_accepted_rate_sensor(&accepted);
|
|
updater.set_csi_occupancy_sensor(&occupancy);
|
|
component.setup();
|
|
sdk->diagnostics_sample_.csi_accepted_pps = 98.5f;
|
|
sdk->diagnostics_sample_.csi_occupancy_ratio = 0.9f;
|
|
component.loop();
|
|
EXPECT_FALSE(accepted.has_state());
|
|
updater.update();
|
|
EXPECT_FLOAT_EQ(accepted.state, 98.5f);
|
|
EXPECT_FLOAT_EQ(occupancy.state, 90.0f);
|
|
}
|
|
|
|
} // namespace esphome::espectre::testing
|
|
|
|
#endif // ESPECTRE_SDK_TEST_DOUBLE
|