#include <gtest/gtest.h>
#include "output.h"

TEST(OutputTest, SampleOutput)
{
    const sensor_data_t values[] = {
        {"A", 154.25f},
        {"B", 567.80f},
        {"C", 3555.08f},
    };
    char buffer[1024];
    sensor_data_output_json(values, 3, buffer,
                            sizeof(buffer));
    const char* expected =
        R"({"sensors":[{"name":"A","value":154.25},{"name":"B","value":567.80},{"name":"C","value":3555.08}]})";
    EXPECT_STREQ(expected, buffer);
}

TEST(OutputTest, EmptyOutput)
{
    char buffer[1024];
    sensor_data_output_json(nullptr, 0, buffer,
                            sizeof(buffer));
    const char* expected = R"({"sensors":[]})";
    EXPECT_STREQ(expected, buffer);
}
