1/*
2Copyright 2019 Glen Joseph Fernandes
3(glenjofe@gmail.com)
4
5Distributed under the Boost Software License, Version 1.0.
6(http://www.boost.org/LICENSE_1_0.txt)
7*/
8#include <boost/core/nvp.hpp>
9#include <boost/core/lightweight_test.hpp>
10
11void test()
12{
13 const char* n = "name";
14 int v = 1;
15 boost::nvp<int> p(n, v);
16 BOOST_TEST_EQ(p.name(), n);
17 BOOST_TEST_EQ(p.value(), 1);
18 BOOST_TEST_EQ(&p.value(), &v);
19}
20
21void test_factory()
22{
23 const char* n = "name";
24 int v = 1;
25 boost::nvp<int> p = boost::make_nvp(n, v);
26 BOOST_TEST_EQ(p.name(), n);
27 BOOST_TEST_EQ(p.value(), 1);
28 BOOST_TEST_EQ(&p.value(), &v);
29}
30
31void test_macro()
32{
33 int v = 1;
34 boost::nvp<int> p = BOOST_NVP(v);
35 BOOST_TEST_CSTR_EQ(p.name(), "v");
36 BOOST_TEST_EQ(p.value(), 1);
37 BOOST_TEST_EQ(&p.value(), &v);
38}
39
40int main()
41{
42 test();
43 test_factory();
44 test_macro();
45 return boost::report_errors();
46}
47

source code of boost/libs/core/test/nvp_test.cpp