@@ -458,71 +458,72 @@ namespace tao
458458 test_double ( 42.0 );
459459
460460 value v;
461+ {
462+ const double a = std::numeric_limits< double >::infinity ();
463+ const double b = std::numeric_limits< double >::quiet_NaN ();
464+ const double c = std::numeric_limits< double >::signaling_NaN ();
461465
462- const double a = std::numeric_limits< double >::infinity ();
463- const double b = std::numeric_limits< double >::quiet_NaN ();
464- const double c = std::numeric_limits< double >::signaling_NaN ();
466+ v = null;
465467
466- v = null ;
468+ TEST_ASSERT ( v. type () == type::NULL_ ) ;
467469
468- TEST_ASSERT ( v. type () == type::NULL_ ) ;
470+ v = true ;
469471
470- v = true ;
472+ TEST_ASSERT ( v.type () == type::BOOLEAN );
473+ TEST_ASSERT ( v.get_boolean () );
471474
472- TEST_ASSERT ( v.type () == type::BOOLEAN );
473- TEST_ASSERT ( v.get_boolean () );
475+ v = 1 ;
474476
475- v = 1 ;
477+ TEST_ASSERT ( v.type () == type::SIGNED );
478+ TEST_ASSERT ( v.get_signed () == 1 );
476479
477- TEST_ASSERT ( v.type () == type::SIGNED );
478- TEST_ASSERT ( v.get_signed () == 1 );
480+ v = 1u ;
479481
480- v = 1u ;
482+ TEST_ASSERT ( v.type () == type::UNSIGNED );
483+ TEST_ASSERT ( v.get_unsigned () == 1u );
481484
482- TEST_ASSERT ( v.type () == type::UNSIGNED );
483- TEST_ASSERT ( v.get_unsigned () == 1u );
485+ v = 2.0 ;
484486
485- v = 2.0 ;
487+ TEST_ASSERT ( v.type () == type::DOUBLE );
488+ TEST_ASSERT ( v.get_double () == 2.0 );
486489
487- TEST_ASSERT ( v.type () == type::DOUBLE );
488- TEST_ASSERT ( v.get_double () == 2.0 );
490+ v = " hallo" ;
489491
490- v = " hallo" ;
492+ TEST_ASSERT ( v.type () == type::STRING );
493+ TEST_ASSERT ( v.get_string () == " hallo" );
491494
492- TEST_ASSERT ( v.type () == type::STRING );
493- TEST_ASSERT ( v.get_string () == " hallo" );
495+ v = a;
494496
495- v = a;
497+ TEST_ASSERT ( v.type () == type::DOUBLE );
498+ TEST_ASSERT ( v.get_double () == a );
496499
497- TEST_ASSERT ( v.type () == type::DOUBLE );
498- TEST_ASSERT ( v.get_double () == a );
500+ v = std::vector< value >();
499501
500- v = std::vector< value >();
502+ TEST_ASSERT ( v.type () == type::ARRAY );
503+ TEST_ASSERT ( v.get_array ().empty () );
501504
502- TEST_ASSERT ( v.type () == type::ARRAY );
503- TEST_ASSERT ( v.get_array ().empty () );
504-
505- v = b;
505+ v = b;
506506
507- TEST_ASSERT ( v.type () == type::DOUBLE );
508- TEST_ASSERT ( std::isnan ( v.get_double () ) );
507+ TEST_ASSERT ( v.type () == type::DOUBLE );
508+ TEST_ASSERT ( std::isnan ( v.get_double () ) );
509509
510- v = std::map< std::string, value >();
510+ v = std::map< std::string, value >();
511511
512- TEST_ASSERT ( v.type () == type::OBJECT );
513- TEST_ASSERT ( v.get_object ().empty () );
512+ TEST_ASSERT ( v.type () == type::OBJECT );
513+ TEST_ASSERT ( v.get_object ().empty () );
514514
515- v = c;
515+ v = c;
516516
517- TEST_ASSERT ( v.type () == type::DOUBLE );
518- TEST_ASSERT ( std::isnan ( v.get_double () ) );
517+ TEST_ASSERT ( v.type () == type::DOUBLE );
518+ TEST_ASSERT ( std::isnan ( v.get_double () ) );
519519
520- v = nullptr ;
520+ v = nullptr ;
521521
522- TEST_ASSERT ( v.type () == type::RAW_PTR );
523- TEST_ASSERT ( v.get_raw_ptr () == nullptr );
524- TEST_ASSERT ( v.empty () );
525- TEST_ASSERT ( v == null );
522+ TEST_ASSERT ( v.type () == type::RAW_PTR );
523+ TEST_ASSERT ( v.get_raw_ptr () == nullptr );
524+ TEST_ASSERT ( v.empty () );
525+ TEST_ASSERT ( v == null );
526+ }
526527
527528 {
528529 value v2 ( v );
@@ -594,20 +595,20 @@ namespace tao
594595 TEST_ASSERT ( b == 4.0 );
595596 }
596597 {
597- value v = { { " foo" , { { " bar" , { { " baz" , 42 } } } } } };
598- TEST_ASSERT ( v .at ( " foo" ).at ( " bar" ).at ( " baz" ).is_signed () );
599- TEST_ASSERT ( v .at ( " foo" ).at ( " bar" ).at ( " baz" ).unsafe_get_signed () == 42 );
600- v = v .at ( " foo" ).at ( " bar" );
601- TEST_ASSERT ( v .at ( " baz" ).is_signed () );
602- TEST_ASSERT ( v .at ( " baz" ).unsafe_get_signed () == 42 );
598+ value v2 = { { " foo" , { { " bar" , { { " baz" , 42 } } } } } };
599+ TEST_ASSERT ( v2 .at ( " foo" ).at ( " bar" ).at ( " baz" ).is_signed () );
600+ TEST_ASSERT ( v2 .at ( " foo" ).at ( " bar" ).at ( " baz" ).unsafe_get_signed () == 42 );
601+ v2 = v2 .at ( " foo" ).at ( " bar" );
602+ TEST_ASSERT ( v2 .at ( " baz" ).is_signed () );
603+ TEST_ASSERT ( v2 .at ( " baz" ).unsafe_get_signed () == 42 );
603604 }
604605 {
605- value v = { { " foo" , { { " bar" , { { " baz" , 42 } } } } } };
606- TEST_ASSERT ( v .at ( " foo" ).at ( " bar" ).at ( " baz" ).is_signed () );
607- TEST_ASSERT ( v .at ( " foo" ).at ( " bar" ).at ( " baz" ).unsafe_get_signed () == 42 );
608- v = std::move ( v .at ( " foo" ).at ( " bar" ) );
609- TEST_ASSERT ( v .at ( " baz" ).is_signed () );
610- TEST_ASSERT ( v .at ( " baz" ).unsafe_get_signed () == 42 );
606+ value v2 = { { " foo" , { { " bar" , { { " baz" , 42 } } } } } };
607+ TEST_ASSERT ( v2 .at ( " foo" ).at ( " bar" ).at ( " baz" ).is_signed () );
608+ TEST_ASSERT ( v2 .at ( " foo" ).at ( " bar" ).at ( " baz" ).unsafe_get_signed () == 42 );
609+ v2 = std::move ( v2 .at ( " foo" ).at ( " bar" ) );
610+ TEST_ASSERT ( v2 .at ( " baz" ).is_signed () );
611+ TEST_ASSERT ( v2 .at ( " baz" ).unsafe_get_signed () == 42 );
611612 }
612613 }
613614
0 commit comments