source: rtos_arduino/trunk/arduino_lib/libraries/ArduinoJson/test/JsonArray_Subscript_Tests.cpp@ 209

Last change on this file since 209 was 209, checked in by ertl-honda, 8 years ago

BlueMix用のフィアルを追加

File size: 2.3 KB
Line 
1// Copyright Benoit Blanchon 2014-2016
2// MIT License
3//
4// Arduino JSON library
5// https://github.com/bblanchon/ArduinoJson
6// If you like this project, please add a star!
7
8#include <ArduinoJson.h>
9#include <gtest/gtest.h>
10#include <stdint.h>
11
12class JsonArray_Subscript_Tests : public ::testing::Test {
13 protected:
14 JsonArray_Subscript_Tests() : _array(_jsonBuffer.createArray()) {
15 _array.add(0);
16 }
17
18 DynamicJsonBuffer _jsonBuffer;
19 JsonArray& _array;
20};
21
22#define TEST_(name) TEST_F(JsonArray_Subscript_Tests, name)
23
24TEST_(SizeIsUnchanged) {
25 _array[0] = "hello";
26 EXPECT_EQ(1U, _array.size());
27}
28
29TEST_(StoreInteger) {
30 _array[0] = 123;
31 EXPECT_EQ(123, _array[0].as<int>());
32 EXPECT_TRUE(_array[0].is<int>());
33 EXPECT_FALSE(_array[0].is<double>());
34}
35
36#if ARDUINOJSON_USE_LONG_LONG || ARDUINOJSON_USE_INT64
37TEST_(StoreLongLong) {
38 _array[0] = 9223372036854775807;
39 EXPECT_EQ(9223372036854775807, _array[0].as<long long>());
40 EXPECT_TRUE(_array[0].is<int>());
41 EXPECT_FALSE(_array[0].is<double>());
42}
43#endif
44
45TEST_(StoreDouble) {
46 _array[0] = 123.45;
47 EXPECT_EQ(123.45, _array[0].as<double>());
48 EXPECT_TRUE(_array[0].is<double>());
49 EXPECT_FALSE(_array[0].is<int>());
50}
51
52TEST_(StoreBoolean) {
53 _array[0] = true;
54 EXPECT_EQ(true, _array[0].as<bool>());
55 EXPECT_TRUE(_array[0].is<bool>());
56 EXPECT_FALSE(_array[0].is<int>());
57}
58
59TEST_(StoreString) {
60 _array[0] = "hello";
61 EXPECT_STREQ("hello", _array[0].as<const char*>());
62 EXPECT_TRUE(_array[0].is<const char*>());
63 EXPECT_FALSE(_array[0].is<int>());
64}
65
66TEST_(StoreNestedArray) {
67 JsonArray& arr = _jsonBuffer.createArray();
68
69 _array[0] = arr;
70
71 EXPECT_EQ(&arr, &_array[0].as<JsonArray&>());
72 EXPECT_TRUE(_array[0].is<JsonArray&>());
73 EXPECT_FALSE(_array[0].is<int>());
74}
75
76TEST_(StoreNestedObject) {
77 JsonObject& obj = _jsonBuffer.createObject();
78
79 _array[0] = obj;
80
81 EXPECT_EQ(&obj, &_array[0].as<JsonObject&>());
82 EXPECT_TRUE(_array[0].is<JsonObject&>());
83 EXPECT_FALSE(_array[0].is<int>());
84}
85
86TEST_(StoreArraySubscript) {
87 JsonArray& arr = _jsonBuffer.createArray();
88 arr.add("hello");
89
90 _array[0] = arr[0];
91
92 EXPECT_STREQ("hello", _array[0]);
93}
94
95TEST_(StoreObjectSubscript) {
96 JsonObject& obj = _jsonBuffer.createObject();
97 obj["x"] = "hello";
98
99 _array[0] = obj["x"];
100
101 EXPECT_STREQ("hello", _array[0]);
102}
Note: See TracBrowser for help on using the repository browser.