1
// Copyright (c) 2001-2011 Hartmut Kaiser
3
// Distributed under the Boost Software License, Version 1.0. (See accompanying
4
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8
///////////////////////////////////////////////////////////////////////////////
12
BOOST_TEST((!traits::meta_create_exists<karma::domain, my_type>::value));
16
// test primitive types
17
BOOST_TEST(test_create_generator("true", true));
18
BOOST_TEST(test_create_generator("1", 1));
19
BOOST_TEST(test_create_generator("1.1", 1.1));
20
BOOST_TEST(test_create_generator("test", std::string("test")));
21
BOOST_TEST(test_create_generator("a", 'a'));
22
BOOST_TEST(test_create_generator(L"a", L'a'));
29
BOOST_TEST(test_create_generator("012", v));
35
BOOST_TEST(test_create_generator("012", l));
38
boost::optional<int> o;
39
BOOST_TEST(test_create_generator("", o));
41
BOOST_TEST(test_create_generator("1", o));
44
boost::variant<int, double, float, std::string> vv;
46
BOOST_TEST(test_create_generator("1", vv));
48
BOOST_TEST(test_create_generator("1.0", vv));
50
BOOST_TEST(test_create_generator("1.0", vv));
52
BOOST_TEST(test_create_generator("some string", vv));
54
// test fusion sequence
55
std::pair<int, double> p (1, 2.0);
56
BOOST_TEST(test_create_generator("12.0", p));
60
// test primitive types
61
// BOOST_TEST(test_create_generator_auto("true", true));
62
// BOOST_TEST(test_create_generator_auto("1", 1));
63
// BOOST_TEST(test_create_generator_auto("1.1", 1.1));
64
// BOOST_TEST(test_create_generator_auto("test", std::string("test")));
65
// BOOST_TEST(test_create_generator_auto("a", 'a'));
66
// BOOST_TEST(test_create_generator_auto(L"a", L'a'));
73
BOOST_TEST(test_create_generator_auto("012", v));
79
BOOST_TEST(test_create_generator_auto("012", l));
82
boost::optional<int> o;
83
BOOST_TEST(test_create_generator_auto("", o));
85
BOOST_TEST(test_create_generator_auto("1", o));
88
boost::variant<int, double, float, std::string> vv;
90
BOOST_TEST(test_create_generator_auto("1", vv));
92
BOOST_TEST(test_create_generator_auto("1.0", vv));
94
BOOST_TEST(test_create_generator_auto("1.0", vv));
96
BOOST_TEST(test_create_generator_auto("some string", vv));
98
// test fusion sequence
99
std::pair<int, double> p (1, 2.0);
100
BOOST_TEST(test_create_generator_auto("12.0", p));
103
return boost::report_errors();