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

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

BlueMix用のフィアルを追加

File size: 1.6 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
10#define protected public
11#include <ArduinoJson/StaticJsonBuffer.hpp>
12
13using namespace ArduinoJson;
14
15class StaticJsonBuffer_Basic_Tests : public testing::Test {
16 protected:
17 StaticJsonBuffer<64> buffer;
18};
19
20TEST_F(StaticJsonBuffer_Basic_Tests, CapacityMatchTemplateParameter) {
21 ASSERT_EQ(64, buffer.capacity());
22}
23
24TEST_F(StaticJsonBuffer_Basic_Tests, InitialSizeIsZero) {
25 ASSERT_EQ(0, buffer.size());
26}
27
28TEST_F(StaticJsonBuffer_Basic_Tests, GrowsAfterAlloc) {
29 buffer.alloc(1);
30 ASSERT_LE(1U, buffer.size());
31 buffer.alloc(1);
32 ASSERT_LE(2U, buffer.size());
33}
34
35TEST_F(StaticJsonBuffer_Basic_Tests, DoesntGrowWhenFull) {
36 buffer.alloc(64);
37 buffer.alloc(1);
38 ASSERT_EQ(64, buffer.size());
39}
40
41TEST_F(StaticJsonBuffer_Basic_Tests, DoesntGrowWhenTooSmall) {
42 buffer.alloc(65);
43 ASSERT_EQ(0, buffer.size());
44}
45
46TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNonNull) {
47 void *p = buffer.alloc(64);
48 ASSERT_NE(static_cast<void *>(0), p);
49}
50
51TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNullWhenFull) {
52 buffer.alloc(64);
53 void *p = buffer.alloc(1);
54 ASSERT_EQ(NULL, p);
55}
56
57TEST_F(StaticJsonBuffer_Basic_Tests, ReturnsNullWhenTooSmall) {
58 void *p = buffer.alloc(65);
59 ASSERT_EQ(NULL, p);
60}
61
62TEST_F(StaticJsonBuffer_Basic_Tests, Alignment) {
63 size_t mask = sizeof(void *) - 1;
64
65 for (size_t size = 1; size <= sizeof(void *); size++) {
66 size_t addr = reinterpret_cast<size_t>(buffer.alloc(1));
67 ASSERT_EQ(0, addr & mask);
68 }
69}
Note: See TracBrowser for help on using the repository browser.