1#include <gtest/gtest.h>
3#include <userver/protobuf/json/convert.hpp>
4#include <userver/utest/assert_macros.hpp>
13class FloatSpecialFromJsonTest :
public ::testing::Test {
18using FpTypes = ::testing::Types<
21 FloatPositiveInfinity,
22 FloatNegativeInfinity,
25 DoublePositiveInfinity,
26 DoubleNegativeInfinity>;
28TYPED_TEST_SUITE(FloatSpecialFromJsonTest, FpTypes);
30TYPED_TEST(FloatSpecialFromJsonTest, Test) {
31 using Param =
typename TestFixture::Param;
32 using Message =
typename Param::Message;
34 if constexpr (Param::kSkip) {
38 const auto& json = Param::kJson;
39 const auto& expected_data = Param::kValue;
41 Message message, expected_message, sample_message;
42 formats::json::Value input = PrepareJsonTestData(json);
43 expected_message = PrepareTestData(expected_data);
45 message.set_field1(100.001);
47 UASSERT_NO_THROW((message = JsonToMessage<Message>(input)));
48 UASSERT_NO_THROW(InitSampleMessage(json, {}, sample_message));
50 CheckMessageEqual(message, sample_message);
51 CheckMessageEqual(message, expected_message);