test max values

This commit is contained in:
Nicu Hodos 2022-10-28 08:59:37 +02:00
parent 5284ce9b41
commit 5532582531
3 changed files with 44 additions and 4 deletions

View File

@ -26,8 +26,8 @@ steps:
- echo -n 'reset' > /dev/ttyUSB0; sleep 1s; avrdude -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:.pio/build/pro-mini/firmware.hex:i -v - echo -n 'reset' > /dev/ttyUSB0; sleep 1s; avrdude -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:.pio/build/pro-mini/firmware.hex:i -v
- service ser2net start - service ser2net start
when: when:
target: branch:
- production - gateway
trigger: trigger:
branch: branch:

View File

@ -12,10 +12,46 @@ void tearDown(void) {
void test_unknown_sensor_type(void) { void test_unknown_sensor_type(void) {
StaticJsonDocument<200> jsonDoc; StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::TEMP_SENSOR) | TYPE(0); unsigned long value = TYPE(0);
TEST_ASSERT_EQUAL(false, buildSensorJson(value, jsonDoc)); TEST_ASSERT_EQUAL(false, buildSensorJson(value, jsonDoc));
} }
void test_max_temp(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = TEMP(1023) | TYPE(SensorType::TEMPERATURE);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(102.3, sensor["temperature"]);
}
void test_overflow_value(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = VALUE(1024) | TYPE(SensorType::GENERIC);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject sensor = jsonDoc["sensor"];
TEST_ASSERT_EQUAL(0, sensor["value"]);
}
void test_max_voltage(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = VCC(8191) | TYPE(SensorType::GENERIC);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject diagnostic = jsonDoc["sensor"]["diagnostic"];
TEST_ASSERT_EQUAL(8.191, diagnostic["voltage"]);
}
void test_overflow_voltage(void) {
StaticJsonDocument<200> jsonDoc;
unsigned long value = VCC(8192) | TYPE(SensorType::GENERIC);
TEST_ASSERT_EQUAL(true, buildSensorJson(value, jsonDoc));
JsonObject diagnostic = jsonDoc["sensor"]["diagnostic"];
TEST_ASSERT_EQUAL(0, diagnostic["voltage"]);
}
void test_temp_sensor(void) { void test_temp_sensor(void) {
StaticJsonDocument<200> jsonDoc; StaticJsonDocument<200> jsonDoc;
unsigned long value = ID(SensorId::TEMP_SENSOR) | TEMP(210) | TYPE(SensorType::TEMPERATURE); unsigned long value = ID(SensorId::TEMP_SENSOR) | TEMP(210) | TYPE(SensorType::TEMPERATURE);
@ -65,6 +101,10 @@ void test_oil_sensor_with_voltage(void) {
void setup() { void setup() {
UNITY_BEGIN(); UNITY_BEGIN();
RUN_TEST(test_unknown_sensor_type); RUN_TEST(test_unknown_sensor_type);
RUN_TEST(test_max_temp);
RUN_TEST(test_overflow_value);
RUN_TEST(test_max_voltage);
RUN_TEST(test_overflow_voltage);
RUN_TEST(test_temp_sensor); RUN_TEST(test_temp_sensor);
RUN_TEST(test_temp_sensor_with_voltage); RUN_TEST(test_temp_sensor_with_voltage);
RUN_TEST(test_oil_sensor); RUN_TEST(test_oil_sensor);

View File

@ -7,7 +7,7 @@
#define MASK_TYPE 0xF #define MASK_TYPE 0xF
#define ID(value) (value & 0x1F) #define ID(value) (value & 0x1F)
#define VCC(value) ((value & MASK_VCC) << 5) #define VCC(value) (((unsigned long)value & MASK_VCC) << 5)
#define TEMP(value) (((unsigned long)value & MASK_VALUE) << 18) #define TEMP(value) (((unsigned long)value & MASK_VALUE) << 18)
#define HUMIDITY(value) (((unsigned long)value & MASK_VALUE) << 18) #define HUMIDITY(value) (((unsigned long)value & MASK_VALUE) << 18)
#define VALUE(value) (((unsigned long)value & MASK_VALUE) << 18) #define VALUE(value) (((unsigned long)value & MASK_VALUE) << 18)