10 #include "gtest/gtest.h"
12 TEST(FlDartProjectTest, Null) {
17 TEST(FlValueTest, NullEqual) {
23 TEST(FlValueTest, NullToString) {
26 EXPECT_STREQ(text,
"null");
29 TEST(FlValueTest, BoolTrue) {
35 TEST(FlValueTest, BoolFalse) {
41 TEST(FlValueTest, BoolEqual) {
47 TEST(FlValueTest, BoolNotEqual) {
53 TEST(FlValueTest, BoolTrueToString) {
56 EXPECT_STREQ(text,
"true");
59 TEST(FlValueTest, BoolFalseToString) {
62 EXPECT_STREQ(text,
"false");
65 TEST(FlValueTest, IntZero) {
71 TEST(FlValueTest, IntOne) {
77 TEST(FlValueTest, IntMinusOne) {
83 TEST(FlValueTest, IntMin) {
89 TEST(FlValueTest, IntMax) {
95 TEST(FlValueTest, IntEqual) {
101 TEST(FlValueTest, IntNotEqual) {
107 TEST(FlValueTest, IntToString) {
110 EXPECT_STREQ(text,
"42");
125 TEST(FlValueTest, FloatMinusOne) {
137 TEST(FlValueTest, FloatEqual) {
143 TEST(FlValueTest, FloatNotEqual) {
149 TEST(FlValueTest, FloatToString) {
152 EXPECT_STREQ(text,
"3.1415926535897931");
161 TEST(FlValueTest, StringEmpty) {
167 TEST(FlValueTest, StringSized) {
173 TEST(FlValueTest, StringSizedNullptr) {
179 TEST(FlValueTest, StringSizedZeroLength) {
185 TEST(FlValueTest, StringEqual) {
191 TEST(FlValueTest, StringNotEqual) {
197 TEST(FlValueTest, StringToString) {
200 EXPECT_STREQ(text,
"hello");
204 uint8_t data[] = {0x00, 0x01, 0xFE, 0xFF};
214 TEST(FlValueTest, Uint8ListNullptr) {
220 TEST(FlValueTest, Uint8ListEqual) {
221 uint8_t data1[] = {1, 2, 3};
223 uint8_t data2[] = {1, 2, 3};
228 TEST(FlValueTest, Uint8ListEmptyEqual) {
234 TEST(FlValueTest, Uint8ListNotEqualSameSize) {
235 uint8_t data1[] = {1, 2, 3};
237 uint8_t data2[] = {1, 2, 4};
242 TEST(FlValueTest, Uint8ListNotEqualDifferentSize) {
243 uint8_t data1[] = {1, 2, 3};
245 uint8_t data2[] = {1, 2, 3, 4};
250 TEST(FlValueTest, Uint8ListEmptyNotEqual) {
252 uint8_t data[] = {1, 2, 3};
257 TEST(FlValueTest, Uint8ListToString) {
258 uint8_t data[] = {0x00, 0x01, 0xFE, 0xFF};
261 EXPECT_STREQ(text,
"[0, 1, 254, 255]");
265 int32_t data[] = {0, -1, G_MAXINT32, G_MININT32};
275 TEST(FlValueTest, Int32ListNullptr) {
281 TEST(FlValueTest, Int32ListEqual) {
282 int32_t data1[] = {0, G_MAXINT32, G_MININT32};
284 int32_t data2[] = {0, G_MAXINT32, G_MININT32};
289 TEST(FlValueTest, Int32ListEmptyEqual) {
295 TEST(FlValueTest, Int32ListNotEqualSameSize) {
296 int32_t data1[] = {0, G_MAXINT32, G_MININT32};
298 int32_t data2[] = {0, G_MININT32, G_MAXINT32};
303 TEST(FlValueTest, Int32ListNotEqualDifferentSize) {
304 int32_t data1[] = {0, G_MAXINT32, G_MININT32};
306 int32_t data2[] = {0, G_MAXINT32, G_MININT32, -1};
311 TEST(FlValueTest, Int32ListEmptyNotEqual) {
313 int32_t data[] = {0, G_MAXINT32, G_MININT32};
318 TEST(FlValueTest, Int32ListToString) {
319 int32_t data[] = {0, G_MAXINT32, G_MININT32};
322 EXPECT_STREQ(text,
"[0, 2147483647, -2147483648]");
326 int64_t data[] = {0, -1, G_MAXINT64, G_MININT64};
336 TEST(FlValueTest, Int64ListNullptr) {
342 TEST(FlValueTest, Int64ListEqual) {
343 int64_t data1[] = {0, G_MAXINT64, G_MININT64};
345 int64_t data2[] = {0, G_MAXINT64, G_MININT64};
350 TEST(FlValueTest, Int64ListEmptyEqual) {
356 TEST(FlValueTest, Int64ListNotEqualSameSize) {
357 int64_t data1[] = {0, G_MAXINT64, G_MININT64};
359 int64_t data2[] = {0, G_MININT64, G_MAXINT64};
364 TEST(FlValueTest, Int64ListNotEqualDifferentSize) {
365 int64_t data1[] = {0, G_MAXINT64, G_MININT64};
367 int64_t data2[] = {0, G_MAXINT64, G_MININT64, -1};
372 TEST(FlValueTest, Int64ListEmptyNotEqual) {
374 int64_t data[] = {0, G_MAXINT64, G_MININT64};
379 TEST(FlValueTest, Int64ListToString) {
380 int64_t data[] = {0, G_MAXINT64, G_MININT64};
383 EXPECT_STREQ(text,
"[0, 9223372036854775807, -9223372036854775808]");
387 double data[] = {0.0, -1.0, M_PI};
396 TEST(FlValueTest, FloatListNullptr) {
402 TEST(FlValueTest, FloatListEqual) {
403 double data1[] = {0, -0.5, M_PI};
405 double data2[] = {0, -0.5, M_PI};
410 TEST(FlValueTest, FloatListEmptyEqual) {
416 TEST(FlValueTest, FloatListNotEqualSameSize) {
417 double data1[] = {0, -0.5, M_PI};
419 double data2[] = {0, -0.5, M_E};
424 TEST(FlValueTest, FloatListNotEqualDifferentSize) {
425 double data1[] = {0, -0.5, M_PI};
427 double data2[] = {0, -0.5, M_PI, 42};
432 TEST(FlValueTest, FloatListEmptyNotEqual) {
434 double data[] = {0, -0.5, M_PI};
439 TEST(FlValueTest, FloatListToString) {
440 double data[] = {0, -0.5, M_PI};
443 EXPECT_STREQ(text,
"[0.0, -0.5, 3.1415926535897931]");
462 TEST(FlValueTest, ListAddTake) {
471 TEST(FlValueTest, ListChildTypes) {
508 g_auto(GStrv) words = g_strsplit(
"hello:world",
":", -1);
520 TEST(FlValueTest, ListStrvEmpty) {
521 g_auto(GStrv) words = g_strsplit(
"",
":", -1);
539 TEST(FlValueTest, ListEmptyEqual) {
545 TEST(FlValueTest, ListNotEqualSameSize) {
557 TEST(FlValueTest, ListNotEqualDifferentSize) {
570 TEST(FlValueTest, ListEmptyNotEqual) {
579 TEST(FlValueTest, ListToString) {
593 "[null, true, 42, 3.1415926535897931, [], [], [], [], [], {}]");
617 TEST(FlValueTest, MapSetTake) {
630 TEST(FlValueTest, MapSetString) {
644 TEST(FlValueTest, MapSetStringTake) {
665 ASSERT_NE(v,
nullptr);
670 ASSERT_EQ(v,
nullptr);
673 TEST(FlValueTest, MapLookupString) {
679 ASSERT_NE(v,
nullptr);
683 ASSERT_EQ(v,
nullptr);
686 TEST(FlValueTest, MapValueypes) {
728 TEST(FlValueTest, MapKeyTypes) {
782 TEST(FlValueTest, MapEqualDifferentOrder) {
794 TEST(FlValueTest, MapEmptyEqual) {
800 TEST(FlValueTest, MapNotEqualSameSizeDifferentKeys) {
812 TEST(FlValueTest, MapNotEqualSameSizeDifferentValues) {
824 TEST(FlValueTest, MapNotEqualDifferentSize) {
837 TEST(FlValueTest, MapEmptyNotEqual) {
846 TEST(FlValueTest, MapToString) {
882 "{null: null, bool: true, int: 42, float: 3.1415926535897931, "
883 "uint8_list: [], int32_list: [], int64_list: [], float_list: "
884 "[], list: [], map: {}, null: null, true: bool, 42: int, "
885 "3.1415926535897931: float, []: uint8_list, []: int32_list, []: "
886 "int64_list, []: float_list, []: list, {}: map}");
889 TEST(FlDartProjectTest, Custom) {
898 TEST(FlDartProjectTest, CustomNoDestroyNotify) {
906 TEST(FlDartProjectTest, CustomObject) {
907 g_autoptr(GObject) v = G_OBJECT(g_object_new(G_TYPE_OBJECT,
nullptr));
914 TEST(FlDartProjectTest, CustomObjectTake) {
916 128, G_OBJECT(g_object_new(G_TYPE_OBJECT,
nullptr)));
922 TEST(FlValueTest, CustomEqual) {
928 TEST(FlValueTest, CustomToString) {
931 EXPECT_STREQ(text,
"(custom 128)");
934 TEST(FlValueTest, EqualSameObject) {
939 TEST(FlValueTest, NullIntNotEqual) {
945 TEST(FlValueTest, NullBoolNotEqual) {
951 TEST(FlValueTest, StringUint8ListNotEqual) {
952 uint8_t data[] = {
'h',
'e',
'l',
'l',
'o'};
958 TEST(FlValueTest, Uint8ListInt32ListNotEqual) {
959 uint8_t data8[] = {0, 1, 2, 3, 4};
960 int32_t data32[] = {0, 1, 2, 3, 4};
966 TEST(FlValueTest, Int32ListInt64ListNotEqual) {
967 int32_t data32[] = {0, 1, 2, 3, 4};
968 int64_t data64[] = {0, 1, 2, 3, 4};
974 TEST(FlValueTest, Int64ListFloatListNotEqual) {
975 int64_t data64[] = {0, 1, 2, 3, 4};
976 double dataf[] = {0.0, 1.0, 2.0, 3.0, 4.0};
982 TEST(FlValueTest, ListMapNotEqual) {
G_MODULE_EXPORT FlValue * fl_value_new_int32_list(const int32_t *data, size_t data_length)
G_MODULE_EXPORT FlValue * fl_value_get_map_value(FlValue *self, size_t index)
G_MODULE_EXPORT void fl_value_set_string(FlValue *self, const gchar *key, FlValue *value)
G_MODULE_EXPORT FlValue * fl_value_new_float(double value)
G_MODULE_EXPORT FlValue * fl_value_new_custom_object(int type, GObject *object)
G_MODULE_EXPORT FlValue * fl_value_lookup(FlValue *self, FlValue *key)
G_MODULE_EXPORT FlValue * fl_value_lookup_string(FlValue *self, const gchar *key)
G_MODULE_EXPORT void fl_value_set_string_take(FlValue *self, const gchar *key, FlValue *value)
G_MODULE_EXPORT FlValue * fl_value_new_custom(int type, gconstpointer value, GDestroyNotify destroy_notify)
G_MODULE_EXPORT const double * fl_value_get_float_list(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_get_list_value(FlValue *self, size_t index)
G_MODULE_EXPORT FlValue * fl_value_new_int64_list(const int64_t *data, size_t data_length)
G_MODULE_EXPORT gchar * fl_value_to_string(FlValue *value)
G_MODULE_EXPORT const uint8_t * fl_value_get_uint8_list(FlValue *self)
G_MODULE_EXPORT int64_t fl_value_get_int(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_bool(bool value)
G_MODULE_EXPORT void fl_value_append(FlValue *self, FlValue *value)
G_MODULE_EXPORT void fl_value_set_take(FlValue *self, FlValue *key, FlValue *value)
G_MODULE_EXPORT int fl_value_get_custom_type(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_list()
G_MODULE_EXPORT void fl_value_append_take(FlValue *self, FlValue *value)
G_MODULE_EXPORT FlValue * fl_value_new_string_sized(const gchar *value, size_t value_length)
G_MODULE_EXPORT gconstpointer fl_value_get_custom_value(FlValue *self)
G_MODULE_EXPORT bool fl_value_get_bool(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_float_list(const double *data, size_t data_length)
G_MODULE_EXPORT FlValue * fl_value_new_null()
G_MODULE_EXPORT bool fl_value_equal(FlValue *a, FlValue *b)
G_MODULE_EXPORT FlValue * fl_value_get_map_key(FlValue *self, size_t index)
G_MODULE_EXPORT const gchar * fl_value_get_string(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_custom_object_take(int type, GObject *object)
G_MODULE_EXPORT const int64_t * fl_value_get_int64_list(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
G_MODULE_EXPORT GObject * fl_value_get_custom_value_object(FlValue *self)
G_MODULE_EXPORT FlValue * fl_value_new_list_from_strv(const gchar *const *str_array)
G_MODULE_EXPORT FlValue * fl_value_new_map()
G_MODULE_EXPORT FlValue * fl_value_new_uint8_list(const uint8_t *data, size_t data_length)
G_MODULE_EXPORT double fl_value_get_float(FlValue *self)
G_MODULE_EXPORT const int32_t * fl_value_get_int32_list(FlValue *self)
G_MODULE_EXPORT size_t fl_value_get_length(FlValue *self)
G_MODULE_EXPORT void fl_value_set(FlValue *self, FlValue *key, FlValue *value)
typedefG_BEGIN_DECLS struct _FlValue FlValue
@ FL_VALUE_TYPE_INT32_LIST
@ FL_VALUE_TYPE_UINT8_LIST
@ FL_VALUE_TYPE_INT64_LIST
@ FL_VALUE_TYPE_FLOAT_LIST
TEST(FlDartProjectTest, Null)