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

Method testConversion

test/value.cpp:355–549  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

353 }
354
355 void
356 testConversion()
357 {
358 auto dsp = storage_ptr{};
359 auto sp = make_shared_resource<unique_resource>();
360
361 // value(object)
362 // value(object, storage_ptr)
363 // value(object_kind, storage_ptr)
364 {
365 {
366 auto jv = value(object());
367 BOOST_TEST(jv.is_object());
368 BOOST_TEST(*jv.storage() == *dsp);
369 }
370 {
371 auto jv = value(object(sp));
372 BOOST_TEST(jv.is_object());
373 BOOST_TEST(*jv.storage() == *sp);
374 }
375 {
376 auto jv = value(object(), sp);
377 BOOST_TEST(jv.is_object());
378 BOOST_TEST(*jv.storage() == *sp);
379 }
380 {
381 auto jv = value(object_kind);
382 BOOST_TEST(jv.is_object());
383 BOOST_TEST(*jv.storage() == *dsp);
384 }
385 {
386 auto jv = value(object_kind, sp);
387 BOOST_TEST(jv.is_object());
388 BOOST_TEST(*jv.storage() == *sp);
389 }
390 {
391 // verify moved from
392 object obj{{"a", 1}, {"b", 2}};
393 BOOST_TEST(obj.capacity() > 0);
394 value jv(std::move(obj), {});
395 BOOST_TEST(obj.capacity() == 0);
396 }
397 }
398
399 // value(array)
400 // value(array, storage_ptr)
401 // value(object_kind, storage_ptr)
402 {
403 {
404 auto jv = value(array());
405 BOOST_TEST(jv.is_array());
406 BOOST_TEST(*jv.storage() == *dsp);
407 }
408 {
409 auto jv = value(array(sp));
410 BOOST_TEST(jv.is_array());
411 BOOST_TEST(*jv.storage() == *sp);
412 }

Callers

nothing calls this directly

Calls 13

is_objectMethod · 0.80
is_arrayMethod · 0.80
is_stringMethod · 0.80
is_int64Method · 0.80
is_uint64Method · 0.80
is_doubleMethod · 0.80
is_boolMethod · 0.80
is_nullMethod · 0.80
valueClass · 0.70
objectClass · 0.50
arrayClass · 0.50
stringClass · 0.50

Tested by

no test coverage detected