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

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

BlueMix用のフィアルを追加

File size: 1.5 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 <gtest/gtest.h>
9#include <ArduinoJson.h>
10
11class JsonVariant_Copy_Tests : public ::testing::Test {
12 protected:
13 DynamicJsonBuffer _jsonBuffer;
14 JsonVariant _variant1;
15 JsonVariant _variant2;
16};
17
18TEST_F(JsonVariant_Copy_Tests, IntegersAreCopiedByValue) {
19 _variant1 = 123;
20 _variant2 = _variant1;
21 _variant1 = 456;
22
23 EXPECT_EQ(123, _variant2.as<int>());
24}
25
26TEST_F(JsonVariant_Copy_Tests, DoublesAreCopiedByValue) {
27 _variant1 = 123.45;
28 _variant2 = _variant1;
29 _variant1 = 456.78;
30
31 EXPECT_EQ(123.45, _variant2.as<double>());
32}
33
34TEST_F(JsonVariant_Copy_Tests, BooleansAreCopiedByValue) {
35 _variant1 = true;
36 _variant2 = _variant1;
37 _variant1 = false;
38
39 EXPECT_TRUE(_variant2.as<bool>());
40}
41
42TEST_F(JsonVariant_Copy_Tests, StringsAreCopiedByValue) {
43 _variant1 = "hello";
44 _variant2 = _variant1;
45 _variant1 = "world";
46
47 EXPECT_STREQ("hello", _variant2.as<const char *>());
48}
49
50TEST_F(JsonVariant_Copy_Tests, ObjectsAreCopiedByReference) {
51 JsonObject &object = _jsonBuffer.createObject();
52
53 _variant1 = object;
54
55 object["hello"] = "world";
56
57 EXPECT_EQ(1, _variant1.asObject().size());
58}
59
60TEST_F(JsonVariant_Copy_Tests, ArraysAreCopiedByReference) {
61 JsonArray &array = _jsonBuffer.createArray();
62
63 _variant1 = array;
64
65 array.add("world");
66
67 EXPECT_EQ(1, _variant1.asArray().size());
68}
Note: See TracBrowser for help on using the repository browser.