rc-gateway/gateway/test/test_embedded/sensor_builder.cpp

77 lines
2.4 KiB
C++

#include <Arduino.h>
#include <unity.h>
#include "TinyComponent.h"
void setUp(void) {
// set stuff up here
}
void tearDown(void) {
// clean stuff up here
}
void test_unknown_sensor_type(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::TEMP_SENSOR) | TYPE(0);
TEST_ASSERT_EQUAL(false, buildSensorJson(value, jsonDoc));
}
void test_temp_sensor(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::TEMP_SENSOR) | TEMP(210) | TYPE(SensorType::TEMPERATURE);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(SensorId::TEMP_SENSOR, sensor["id"]);
TEST_ASSERT_EQUAL(21, sensor["temperature"]);
}
void test_temp_sensor_with_voltage(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::TEMP_SENSOR) | TEMP(320) | TYPE(SensorType::TEMPERATURE) | VCC(2847L);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(SensorId::TEMP_SENSOR, sensor["id"]);
TEST_ASSERT_EQUAL(32, sensor["temperature"]);
JsonObject diagnostic = sensor["diagnostic"];
TEST_ASSERT_EQUAL(2.847, diagnostic["voltage"]);
}
void test_oil_sensor(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::OIL_SENSOR) | VALUE(150) | TYPE(SensorType::GENERIC);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(SensorId::OIL_SENSOR, sensor["id"]);
TEST_ASSERT_EQUAL(150, sensor["value"]);
}
void test_oil_sensor_with_voltage(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::OIL_SENSOR) | TEMP(200) | TYPE(SensorType::GENERIC) | VCC(2847L);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(SensorId::OIL_SENSOR, sensor["id"]);
TEST_ASSERT_EQUAL(200, sensor["value"]);
JsonObject diagnostic = sensor["diagnostic"];
TEST_ASSERT_EQUAL(2.847, diagnostic["voltage"]);
}
void setup() {
UNITY_BEGIN();
RUN_TEST(test_unknown_sensor_type);
RUN_TEST(test_temp_sensor);
RUN_TEST(test_temp_sensor_with_voltage);
RUN_TEST(test_oil_sensor);
RUN_TEST(test_oil_sensor_with_voltage);
UNITY_END();
}
void loop() {
}