MCPcopy Create free account
hub / github.com/boostorg/json / testObject

Method testObject

test/limits.cpp:53–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51 }
52
53 void
54 testObject()
55 {
56 // max_size()
57 BOOST_TEST_THROWS_WITH_LOCATION( object(object::max_size()+1) );
58
59 // object(), max size
60 {
61 std::initializer_list<std::pair<
62 string_view, value_ref>> init = {
63 { "1", 1},{ "2", 2},{ "3", 3},{ "4", 4},{ "5", 5},
64 { "6", 6},{ "7", 7},{ "8", 8},{ "9", 9},{"10",10},
65 {"11",11},{"12",12},{"13",13},{"14",14},{"15",15},
66 {"16",16},{"17",17},{"18",18},{"19",19},{"10",10},
67 {"21",21},{"22",22},{"23",23},{"24",24},{"25",25},
68 {"26",26},{"27",27},{"28",28},{"29",29},{"30",30},
69 {"31",31}};
70 BOOST_TEST(init.size() > object::max_size());
71 BOOST_TEST_THROWS_WITH_LOCATION( (object(init)) );
72 BOOST_TEST_THROWS_WITH_LOCATION(
73 object(init.begin(), init.end()) );
74 BOOST_TEST_THROWS_WITH_LOCATION(
75 object(
76 make_input_iterator(init.begin()),
77 make_input_iterator(init.end())) );
78 }
79
80 // reserve(), max size
81 {
82 object o;
83 BOOST_TEST_THROWS_WITH_LOCATION( o.reserve(o.max_size() + 1) );
84 }
85
86 // insert(), max size
87 {
88 std::initializer_list<std::pair<
89 string_view, value_ref>> init = {
90 { "1", 1},{ "2", 2},{ "3", 3},{ "4", 4},{ "5", 5},
91 { "6", 6},{ "7", 7},{ "8", 8},{ "9", 9},{"10",10},
92 {"11",11},{"12",12},{"13",13},{"14",14},{"15",15},
93 {"16",16},{"17",17},{"18",18},{"19",19},{"10",10},
94 {"21",21},{"22",22},{"23",23},{"24",24},{"25",25},
95 {"26",26},{"27",27},{"28",28},{"29",29},{"30",30},
96 {"31",31}};
97 BOOST_TEST(init.size() > object::max_size());
98 object o;
99 BOOST_TEST_THROWS_WITH_LOCATION( o.insert(init) );
100 BOOST_TEST_THROWS_WITH_LOCATION(
101 o.insert(init.begin(), init.end()) );
102 BOOST_TEST_THROWS_WITH_LOCATION(
103 o.insert(
104 make_input_iterator(init.begin()),
105 make_input_iterator(init.end())) );
106 }
107
108 // max key size
109 {
110 std::string const big(

Callers

nothing calls this directly

Calls 8

make_input_iteratorFunction · 0.85
objectClass · 0.50
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
reserveMethod · 0.45
max_sizeMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected