93 lines
3.9 KiB
C++
93 lines
3.9 KiB
C++
#include <di/rpc/sensor.h>
|
|
#include <gtest/gtest.h>
|
|
#include "tests/rpc_serialize.h"
|
|
#include "rpc_sensor.h"
|
|
|
|
TEST(rpc_sensor, INFO_BATTERY_VOLTAGE_ITEM)
|
|
{
|
|
auto writer = TEST_RPC_SERIALIZE_WRITER;
|
|
|
|
/* Battery 1 voltage */
|
|
ASSERT_EQ(1U, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[0].uid);
|
|
ASSERT_STREQ("bat1-voltage", sensor_info_INFO_BATTERY_VOLTAGE_ITEM[0].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[0].data_type);
|
|
|
|
/* Battery 2 voltage */
|
|
ASSERT_EQ(3U, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[1].uid);
|
|
ASSERT_STREQ("bat2-voltage", sensor_info_INFO_BATTERY_VOLTAGE_ITEM[1].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[1].data_type);
|
|
|
|
/* Battery 3 voltage */
|
|
ASSERT_EQ(5U, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[2].uid);
|
|
ASSERT_STREQ("bat3-voltage", sensor_info_INFO_BATTERY_VOLTAGE_ITEM[2].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[2].data_type);
|
|
|
|
/* Battery 4 voltage */
|
|
ASSERT_EQ(7U, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[3].uid);
|
|
ASSERT_STREQ("bat4-voltage", sensor_info_INFO_BATTERY_VOLTAGE_ITEM[3].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_BATTERY_VOLTAGE_ITEM[3].data_type);
|
|
|
|
di_rpc_serialize_result_array(writer->get(), sensor_info_INFO_BATTERY_VOLTAGE_ITEM, DI_ARRAY_SIZE(sensor_info_INFO_BATTERY_VOLTAGE_ITEM));
|
|
}
|
|
|
|
TEST(rpc_sensor, INFO_BATTERY_STATE_ITEM)
|
|
{
|
|
auto writer = TEST_RPC_SERIALIZE_WRITER;
|
|
|
|
/* Battery 1 state */
|
|
ASSERT_EQ(2U, sensor_info_INFO_BATTERY_STATE_ITEM[0].uid);
|
|
ASSERT_STREQ("bat1-state", sensor_info_INFO_BATTERY_STATE_ITEM[0].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_BATTERY_STATE_ITEM[0].data_type);
|
|
|
|
/* Battery 2 state */
|
|
ASSERT_EQ(4U, sensor_info_INFO_BATTERY_STATE_ITEM[1].uid);
|
|
ASSERT_STREQ("bat2-state", sensor_info_INFO_BATTERY_STATE_ITEM[1].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_BATTERY_STATE_ITEM[1].data_type);
|
|
|
|
/* Battery 3 state */
|
|
ASSERT_EQ(6U, sensor_info_INFO_BATTERY_STATE_ITEM[2].uid);
|
|
ASSERT_STREQ("bat3-state", sensor_info_INFO_BATTERY_STATE_ITEM[2].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_BATTERY_STATE_ITEM[2].data_type);
|
|
|
|
/* Battery 4 state */
|
|
ASSERT_EQ(8U, sensor_info_INFO_BATTERY_STATE_ITEM[3].uid);
|
|
ASSERT_STREQ("bat4-state", sensor_info_INFO_BATTERY_STATE_ITEM[3].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_BATTERY_STATE_ITEM[3].data_type);
|
|
|
|
di_rpc_serialize_result_array(writer->get(), sensor_info_INFO_BATTERY_STATE_ITEM, DI_ARRAY_SIZE(sensor_info_INFO_BATTERY_STATE_ITEM));
|
|
}
|
|
|
|
TEST(rpc_sensor, INFO_CHARGER_VOLTAGE_ITEM)
|
|
{
|
|
auto writer = TEST_RPC_SERIALIZE_WRITER;
|
|
|
|
/* Charger 1 voltage */
|
|
ASSERT_EQ(9U, sensor_info_INFO_CHARGER_VOLTAGE_ITEM[0].uid);
|
|
ASSERT_STREQ("charger1-voltage", sensor_info_INFO_CHARGER_VOLTAGE_ITEM[0].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_CHARGER_VOLTAGE_ITEM[0].data_type);
|
|
|
|
/* Charger 2 voltage */
|
|
ASSERT_EQ(11U, sensor_info_INFO_CHARGER_VOLTAGE_ITEM[1].uid);
|
|
ASSERT_STREQ("charger2-voltage", sensor_info_INFO_CHARGER_VOLTAGE_ITEM[1].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_NUMBER, sensor_info_INFO_CHARGER_VOLTAGE_ITEM[1].data_type);
|
|
|
|
di_rpc_serialize_result_array(writer->get(), sensor_info_INFO_CHARGER_VOLTAGE_ITEM, DI_ARRAY_SIZE(sensor_info_INFO_CHARGER_VOLTAGE_ITEM));
|
|
}
|
|
|
|
TEST(rpc_sensor, INFO_CHARGER_STATE_ITEM)
|
|
{
|
|
auto writer = TEST_RPC_SERIALIZE_WRITER;
|
|
|
|
/* Charger 1 state */
|
|
ASSERT_EQ(10U, sensor_info_INFO_CHARGER_STATE_ITEM[0].uid);
|
|
ASSERT_STREQ("charger1-state", sensor_info_INFO_CHARGER_STATE_ITEM[0].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_CHARGER_STATE_ITEM[0].data_type);
|
|
|
|
/* Charger 2 state */
|
|
ASSERT_EQ(12U, sensor_info_INFO_CHARGER_STATE_ITEM[1].uid);
|
|
ASSERT_STREQ("charger2-state", sensor_info_INFO_CHARGER_STATE_ITEM[1].label);
|
|
ASSERT_EQ(DI_RPC_DATA_TYPE_ENUM, sensor_info_INFO_CHARGER_STATE_ITEM[1].data_type);
|
|
|
|
di_rpc_serialize_result_array(writer->get(), sensor_info_INFO_CHARGER_STATE_ITEM, DI_ARRAY_SIZE(sensor_info_INFO_CHARGER_STATE_ITEM));
|
|
}
|