blob: 770b85871b015d77e2a1145c8e4be6ff69823191 [file] [log] [blame]
/**
* Copyright (C) 2012 ciere consulting, ciere.com
*/
#include <boost/detail/lightweight_test.hpp>
#include "json/value.hpp"
#include <string>
#define SHOULD_HAVE_THROWN 0
namespace json = ciere::json;
int main()
{
json::value value;
{
value = "test";
std::string tmp = value.get_as<json::string_t>();
BOOST_TEST(tmp == "test");
}
{
value = 42;
int tmp = value.get_as<json::int_t>();
BOOST_TEST(tmp == 42);
std::string tmp_str = value.get_as<json::string_t>();
BOOST_TEST(tmp_str == "42");
double tmp_dbl = value.get_as<json::float_t>();
BOOST_TEST(tmp_dbl == 42.0);
}
{
value = 42.5;
double tmp = value.get<json::float_t>();
BOOST_TEST(tmp == 42.5);
std::string tmp_str = value.get_as<json::string_t>();
BOOST_TEST(tmp_str == "42.5");
int tmp_int = value.get_as<json::int_t>();
BOOST_TEST(tmp_int == 42);
}
{
value = false;
bool tmp = value.get_as<json::bool_t>();
BOOST_TEST(tmp == false);
int tmp_int = value.get_as<int>();
BOOST_TEST(tmp_int == 0);
}
{
value = "true";
BOOST_TEST(true == value.get_as<json::bool_t>());
}
{
value = 42;
BOOST_TEST(true == value.get_as<json::bool_t>());
value = 0;
BOOST_TEST(false == value.get_as<json::bool_t>());
}
{
value = "42";
BOOST_TEST(42 == value.get_as<int>());
}
{
value = json::null_t();
}
return boost::report_errors();
}