mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-16 12:02:14 +02:00
Test that a double can be stored in a JsonObject
This commit is contained in:
@ -24,6 +24,7 @@ struct JsonNode
|
|||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
|
double asDouble;
|
||||||
int asInteger;
|
int asInteger;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include "JsonObject.h"
|
#include "JsonObject.h"
|
||||||
#include "JsonValue.h"
|
#include "JsonValue.h"
|
||||||
#include "JsonNode.h"
|
#include "JsonNode.h"
|
||||||
#include <string.h>
|
#include <string.h> // for strcmp
|
||||||
|
|
||||||
//JsonValue& JsonObject::operator[](char const* key)
|
//JsonValue& JsonObject::operator[](char const* key)
|
||||||
//{
|
//{
|
||||||
|
@ -2,10 +2,13 @@
|
|||||||
#include "JsonNode.h"
|
#include "JsonNode.h"
|
||||||
#include "JsonValue.h"
|
#include "JsonValue.h"
|
||||||
|
|
||||||
//void JsonValue::operator=(JsonObject const& object)
|
void JsonValue::operator=(double value)
|
||||||
//{
|
{
|
||||||
// _node = object._node;
|
if (!_node) return;
|
||||||
//}
|
|
||||||
|
_node->type = JSON_DOUBLE_2_DECIMALS;
|
||||||
|
_node->content.asDouble = value;
|
||||||
|
}
|
||||||
|
|
||||||
void JsonValue::operator=(int value)
|
void JsonValue::operator=(int value)
|
||||||
{
|
{
|
||||||
@ -15,10 +18,12 @@ void JsonValue::operator=(int value)
|
|||||||
_node->content.asInteger = value;
|
_node->content.asInteger = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
//JsonValue::operator JsonObject()
|
JsonValue::operator double()
|
||||||
//{
|
{
|
||||||
// return JsonObject(_buffer, _node);
|
if (!_node || _node->type < JSON_DOUBLE_0_DECIMALS) return 0;
|
||||||
//}
|
|
||||||
|
return _node->content.asDouble;
|
||||||
|
}
|
||||||
|
|
||||||
JsonValue::operator int()
|
JsonValue::operator int()
|
||||||
{
|
{
|
||||||
|
@ -14,9 +14,11 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
// void operator=(const JsonObject& object);
|
// void operator=(const JsonObject& object);
|
||||||
|
void operator=(double);
|
||||||
void operator=(int);
|
void operator=(int);
|
||||||
|
|
||||||
// operator JsonObject();
|
// operator JsonObject();
|
||||||
|
operator double();
|
||||||
operator int();
|
operator int();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -28,7 +28,7 @@ TEST(JsonObjectTests, WhenTheSameValueIsAddedTwice_ThenSizeIsOnlyIncreasedByOne)
|
|||||||
EXPECT_EQ(1, object.size());
|
EXPECT_EQ(1, object.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(JsonObjectTests, WhenAnIntegerIsStore_TheSameIntegerIsRetreived)
|
TEST(JsonObjectTests, GivenAnIntegerStored_WhenRetreivingTheValue_ThenTheValueIsTheSame)
|
||||||
{
|
{
|
||||||
StaticJsonBuffer<42> json;
|
StaticJsonBuffer<42> json;
|
||||||
|
|
||||||
@ -39,4 +39,17 @@ TEST(JsonObjectTests, WhenAnIntegerIsStore_TheSameIntegerIsRetreived)
|
|||||||
|
|
||||||
EXPECT_EQ(123, (int) object["hello"]);
|
EXPECT_EQ(123, (int) object["hello"]);
|
||||||
EXPECT_EQ(456, (int) object["world"]);
|
EXPECT_EQ(456, (int) object["world"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(JsonObjectTests, GivenAnDoubleStored_WhenRetreivingTheValue_ThenTheValueIsTheSame)
|
||||||
|
{
|
||||||
|
StaticJsonBuffer<42> json;
|
||||||
|
|
||||||
|
JsonObject object = json.createObject();
|
||||||
|
|
||||||
|
object["hello"] = 123.45;
|
||||||
|
object["world"] = 456.78;
|
||||||
|
|
||||||
|
EXPECT_EQ(123.45, (double) object["hello"]);
|
||||||
|
EXPECT_EQ(456.78, (double) object["world"]);
|
||||||
}
|
}
|
Reference in New Issue
Block a user