summaryrefslogtreecommitdiff
path: root/test/components/formatters/src/generic_json_formatter_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/components/formatters/src/generic_json_formatter_test.cc')
-rw-r--r--test/components/formatters/src/generic_json_formatter_test.cc161
1 files changed, 0 insertions, 161 deletions
diff --git a/test/components/formatters/src/generic_json_formatter_test.cc b/test/components/formatters/src/generic_json_formatter_test.cc
deleted file mode 100644
index 978349193..000000000
--- a/test/components/formatters/src/generic_json_formatter_test.cc
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright (c) 2013, Ford Motor Company
-// All rights reserved.
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// Redistributions of source code must retain the above copyright notice, this
-// list of conditions and the following disclaimer.
-//
-// Redistributions in binary form must reproduce the above copyright notice,
-// this list of conditions and the following
-// disclaimer in the documentation and/or other materials provided with the
-// distribution.
-//
-// Neither the name of the Ford Motor Company nor the names of its contributors
-// may be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 'A PARTICULAR PURPOSE
-// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
-// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-// POSSIBILITY OF SUCH DAMAGE.
-
-#include "gtest/gtest.h"
-
-#include "formatters/generic_json_formatter.h"
-
-namespace test {
-namespace components {
-namespace formatters {
-
-TEST(GenericJsonFormatter, ToString) {
- namespace smartobj = NsSmartDeviceLink::NsSmartObjects;
- namespace formatters = NsSmartDeviceLink::NsJSONHandler::Formatters;
-
- smartobj::SmartObject obj;
- std::string result;
-
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("null\n", result.c_str());
-
- obj = true;
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("true\n", result.c_str());
-
- obj = 10;
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("10\n", result.c_str());
-
- obj = 15.2;
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("15.20\n", result.c_str());
-
- obj = 'c';
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("\"c\"\n", result.c_str());
-
- obj[0] = 1;
- obj[1] = true;
- obj[2] = "string";
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("[ 1, true, \"string\" ]\n", result.c_str());
-
- obj["intField"] = 100500;
- obj["stringField"] = "s";
- obj["subobject"]["boolField"] = false;
- obj["subobject"]["arrayField"][0] = 0;
- obj["subobject"]["arrayField"][1] = 'c';
- obj["subobject"]["arrayField"][2][0] = 10.0;
- formatters::GenericJsonFormatter::ToString(obj, result);
- ASSERT_STREQ("{\n"
- " \"intField\" : 100500,\n"
- " \"stringField\" : \"s\",\n"
- " \"subobject\" : {\n"
- " \"arrayField\" : [\n"
- " 0,\n"
- " \"c\",\n"
- " [ 10.0 ]\n"
- " ],\n"
- " \"boolField\" : false\n"
- " }\n"
- "}\n", result.c_str());
-}
-
-TEST(GenericJsonFormatter, FromString) {
- namespace smartobj = NsSmartDeviceLink::NsSmartObjects;
- namespace formatters = NsSmartDeviceLink::NsJSONHandler::Formatters;
-
- smartobj::SmartObject result;
-
- ASSERT_FALSE(formatters::GenericJsonFormatter::FromString("", result));
- ASSERT_FALSE(formatters::GenericJsonFormatter::FromString("\"str", result));
- ASSERT_FALSE(formatters::GenericJsonFormatter::FromString("[10", result));
- ASSERT_FALSE(formatters::GenericJsonFormatter::FromString("{10}", result));
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("null", result));
- ASSERT_EQ(smartobj::SmartType_Null, result.getType());
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("true", result));
- ASSERT_EQ(smartobj::SmartType_Boolean, result.getType());
- ASSERT_EQ(true, result.asBool());
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("1", result));
- ASSERT_EQ(smartobj::SmartType_Integer, result.getType());
- ASSERT_EQ(1, result.asInt());
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("0.5", result));
- ASSERT_EQ(smartobj::SmartType_Double, result.getType());
- ASSERT_DOUBLE_EQ(0.5, result.asDouble());
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("\"str\"", result));
- ASSERT_EQ(smartobj::SmartType_String, result.getType());
- ASSERT_STREQ("str", result.asString().c_str());
-
- ASSERT_TRUE(formatters::GenericJsonFormatter::FromString("[true, null, 10]",
- result));
- ASSERT_EQ(smartobj::SmartType_Array, result.getType());
- ASSERT_EQ(smartobj::SmartType_Boolean, result.getElement(0U).getType());
- ASSERT_EQ(true, result.getElement(0U).asBool());
- ASSERT_EQ(smartobj::SmartType_Null, result.getElement(1U).getType());
- ASSERT_EQ(smartobj::SmartType_Integer, result.getElement(2U).getType());
- ASSERT_EQ(10, result.getElement(2U).asInt());
-
- ASSERT_TRUE(
- formatters::GenericJsonFormatter::FromString("{"
- " \"intField\": 100500,"
- " \"subobject\": {"
- " \"arrayField\": [1, null],"
- " \"strField\": \"str\""
- " }"
- "}",
- result));
- ASSERT_EQ(smartobj::SmartType_Map, result.getType());
- ASSERT_EQ(smartobj::SmartType_Integer,
- result.getElement("intField").getType());
- ASSERT_EQ(100500, result.getElement("intField").asInt());
- ASSERT_EQ(smartobj::SmartType_Map, result.getElement("subobject").getType());
- ASSERT_EQ(smartobj::SmartType_Array,
- result.getElement("subobject").getElement("arrayField").getType());
- ASSERT_EQ(smartobj::SmartType_Integer,
- result.getElement("subobject").getElement("arrayField").getElement(0U).getType());
- ASSERT_EQ(1, result.getElement("subobject").getElement("arrayField").getElement(0U).asInt());
- ASSERT_EQ(smartobj::SmartType_Null,
- result.getElement("subobject").getElement("arrayField").getElement(1U).getType());
- ASSERT_EQ(smartobj::SmartType_String,
- result.getElement("subobject").getElement("strField").getType());
- ASSERT_STREQ(
- "str",
- result.getElement("subobject").getElement("strField").asString().c_str());
-}
-
-} // formatters
-} // components
-} // test