Lines Matching refs:json
6 #include <json/config.h>
7 #include <json/json.h>
12 #define kint32max Json::Value::maxInt
13 #define kint32min Json::Value::minInt
14 #define kuint32max Json::Value::maxUInt
15 #define kint64max Json::Value::maxInt64
16 #define kint64min Json::Value::minInt64
17 #define kuint64max Json::Value::maxUInt64
27 // Json Library test cases
32 static inline double uint64ToDouble( Json::UInt64 value )
37 static inline double uint64ToDouble( Json::UInt64 value )
39 return static_cast<double>( Json::Int64(value/2) ) * 2.0 + Json::Int64(value & 1);
45 Json::Value null_;
46 Json::Value emptyArray_;
47 Json::Value emptyObject_;
48 Json::Value integer_;
49 Json::Value unsignedInteger_;
50 Json::Value smallUnsignedInteger_;
51 Json::Value real_;
52 Json::Value float_;
53 Json::Value array1_;
54 Json::Value object1_;
55 Json::Value emptyString_;
56 Json::Value string1_;
57 Json::Value string_;
58 Json::Value true_;
59 Json::Value false_;
63 : emptyArray_( Json::arrayValue )
64 , emptyObject_( Json::objectValue )
66 , smallUnsignedInteger_( Json::Value::UInt( Json::Value::maxInt ) )
100 void checkConstMemberCount( const Json::Value &value, unsigned int expectedCount );
102 void checkMemberCount( Json::Value &value, unsigned int expectedCount );
104 void checkIs( const Json::Value &value, const IsCheck &check );
106 void checkIsLess( const Json::Value &x, const Json::Value &y );
108 void checkIsEqual( const Json::Value &x, const Json::Value &y );
179 JSONTEST_ASSERT_EQUAL(Json::objectValue, emptyObject_.type());
182 JSONTEST_ASSERT(emptyObject_.isConvertibleTo(Json::nullValue));
185 JSONTEST_ASSERT(!object1_.isConvertibleTo(Json::nullValue));
188 JSONTEST_ASSERT(emptyObject_.isConvertibleTo(Json::objectValue));
191 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::arrayValue));
192 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::intValue));
193 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::uintValue));
194 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::realValue));
195 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::booleanValue));
196 JSONTEST_ASSERT(!emptyObject_.isConvertibleTo(Json::stringValue));
199 const Json::Value &constObject = object1_;
201 JSONTEST_ASSERT_EQUAL(Json::Value(1234), constObject["id"]);
202 JSONTEST_ASSERT_EQUAL(Json::Value(), constObject["unknown id"]);
205 JSONTEST_ASSERT_EQUAL(Json::Value(1234), object1_["id"]);
206 JSONTEST_ASSERT_EQUAL(Json::Value(), object1_["unknown id"]);
209 JSONTEST_ASSERT_EQUAL(Json::Value("foo"), object1_["some other id"]);
223 JSONTEST_ASSERT_EQUAL(Json::arrayValue, array1_.type());
226 JSONTEST_ASSERT(emptyArray_.isConvertibleTo(Json::nullValue));
229 JSONTEST_ASSERT(!array1_.isConvertibleTo(Json::nullValue));
232 JSONTEST_ASSERT(emptyArray_.isConvertibleTo(Json::arrayValue));
235 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::objectValue));
236 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::intValue));
237 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::uintValue));
238 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::realValue));
239 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::booleanValue));
240 JSONTEST_ASSERT(!emptyArray_.isConvertibleTo(Json::stringValue));
243 const Json::Value &constArray = array1_;
244 JSONTEST_ASSERT_EQUAL(Json::Value(1234), constArray[index0]);
245 JSONTEST_ASSERT_EQUAL(Json::Value(1234), constArray[0]);
248 JSONTEST_ASSERT_EQUAL(Json::Value(1234), array1_[index0]);
249 JSONTEST_ASSERT_EQUAL(Json::Value(1234), array1_[0]);
251 array1_[2] = Json::Value(17);
252 JSONTEST_ASSERT_EQUAL(Json::Value(), array1_[1]);
253 JSONTEST_ASSERT_EQUAL(Json::Value(17), array1_[2]);
259 JSONTEST_ASSERT_EQUAL(Json::nullValue, null_.type());
265 JSONTEST_ASSERT(null_.isConvertibleTo(Json::nullValue));
266 JSONTEST_ASSERT(null_.isConvertibleTo(Json::intValue));
267 JSONTEST_ASSERT(null_.isConvertibleTo(Json::uintValue));
268 JSONTEST_ASSERT(null_.isConvertibleTo(Json::realValue));
269 JSONTEST_ASSERT(null_.isConvertibleTo(Json::booleanValue));
270 JSONTEST_ASSERT(null_.isConvertibleTo(Json::stringValue));
271 JSONTEST_ASSERT(null_.isConvertibleTo(Json::arrayValue));
272 JSONTEST_ASSERT(null_.isConvertibleTo(Json::objectValue));
274 JSONTEST_ASSERT_EQUAL(Json::Int(0), null_.asInt());
275 JSONTEST_ASSERT_EQUAL(Json::LargestInt(0), null_.asLargestInt());
276 JSONTEST_ASSERT_EQUAL(Json::UInt(0), null_.asUInt());
277 JSONTEST_ASSERT_EQUAL(Json::LargestUInt(0), null_.asLargestUInt());
286 JSONTEST_ASSERT_EQUAL(Json::stringValue, string1_.type());
295 JSONTEST_ASSERT(emptyString_.isConvertibleTo(Json::nullValue));
298 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::nullValue));
301 JSONTEST_ASSERT(string1_.isConvertibleTo(Json::stringValue));
304 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::objectValue));
305 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::arrayValue));
306 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::intValue));
307 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::uintValue));
308 JSONTEST_ASSERT(!string1_.isConvertibleTo(Json::realValue));
317 JSONTEST_ASSERT_EQUAL(Json::booleanValue, false_.type());
325 JSONTEST_ASSERT(false_.isConvertibleTo(Json::nullValue));
328 JSONTEST_ASSERT(!true_.isConvertibleTo(Json::nullValue));
331 JSONTEST_ASSERT(true_.isConvertibleTo(Json::intValue));
332 JSONTEST_ASSERT(true_.isConvertibleTo(Json::uintValue));
333 JSONTEST_ASSERT(true_.isConvertibleTo(Json::realValue));
334 JSONTEST_ASSERT(true_.isConvertibleTo(Json::booleanValue));
335 JSONTEST_ASSERT(true_.isConvertibleTo(Json::stringValue));
338 JSONTEST_ASSERT(!true_.isConvertibleTo(Json::arrayValue));
339 JSONTEST_ASSERT(!true_.isConvertibleTo(Json::objectValue));
362 Json::Value val;
365 JSONTEST_ASSERT(Json::Value(17).isConvertibleTo(Json::realValue));
366 JSONTEST_ASSERT(Json::Value(17).isConvertibleTo(Json::stringValue));
367 JSONTEST_ASSERT(Json::Value(17).isConvertibleTo(Json::booleanValue));
368 JSONTEST_ASSERT(!Json::Value(17).isConvertibleTo(Json::arrayValue));
369 JSONTEST_ASSERT(!Json::Value(17).isConvertibleTo(Json::objectValue));
371 JSONTEST_ASSERT(Json::Value(17U).isConvertibleTo(Json::realValue));
372 JSONTEST_ASSERT(Json::Value(17U).isConvertibleTo(Json::stringValue));
373 JSONTEST_ASSERT(Json::Value(17U).isConvertibleTo(Json::booleanValue));
374 JSONTEST_ASSERT(!Json::Value(17U).isConvertibleTo(Json::arrayValue));
375 JSONTEST_ASSERT(!Json::Value(17U).isConvertibleTo(Json::objectValue));
377 JSONTEST_ASSERT(Json::Value(17.0).isConvertibleTo(Json::realValue));
378 JSONTEST_ASSERT(Json::Value(17.0).isConvertibleTo(Json::stringValue));
379 JSONTEST_ASSERT(Json::Value(17.0).isConvertibleTo(Json::booleanValue));
380 JSONTEST_ASSERT(!Json::Value(17.0).isConvertibleTo(Json::arrayValue));
381 JSONTEST_ASSERT(!Json::Value(17.0).isConvertibleTo(Json::objectValue));
384 val = Json::Value(Json::intValue);
386 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
398 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
399 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
400 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
412 val = Json::Value(Json::uintValue);
414 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
426 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
427 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
428 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
440 val = Json::Value(Json::realValue);
442 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
444 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
445 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
446 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
468 val = Json::Value(0);
470 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
482 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
483 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
484 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
496 val = Json::Value(0u);
498 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
510 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
511 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
512 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
524 val = Json::Value(0.0);
526 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
538 JSONTEST_ASSERT(val.isConvertibleTo(Json::nullValue));
539 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
540 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
552 val = Json::Value(1 << 20);
554 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
565 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
566 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
567 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
579 val = Json::Value(Json::UInt(1 << 20));
581 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
593 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
594 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
595 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
607 val = Json::Value((1 << 20) / 1.0);
609 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
621 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
622 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
623 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
635 val = Json::Value(-(1 << 20));
637 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
647 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
648 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
649 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
659 val = Json::Value(kint32max);
661 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
673 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
674 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
675 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
687 val = Json::Value(kint32min);
689 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
699 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
700 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
701 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
711 val = Json::Value(kuint32max);
713 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
724 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
725 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
726 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
740 val = Json::Value(double(kint64max));
742 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
749 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
750 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
751 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
759 val = Json::Value(double(kint64min));
761 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
768 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
769 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
770 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
778 val = Json::Value(double(kuint64max));
780 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
787 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
788 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
789 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
797 val = Json::Value(Json::Int64(1) << 40);
799 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
809 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
810 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
811 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
813 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asInt64());
814 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestInt());
815 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asUInt64());
816 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestUInt());
817 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asDouble());
818 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asFloat());
823 val = Json::Value(Json::UInt64(1) << 40);
825 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
835 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
836 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
837 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
839 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asInt64());
840 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestInt());
841 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asUInt64());
842 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestUInt());
843 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asDouble());
844 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asFloat());
849 val = Json::Value((Json::Int64(1) << 40) / 1.0);
851 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
861 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
862 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
863 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
865 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asInt64());
866 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestInt());
867 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asUInt64());
868 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asLargestUInt());
869 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asDouble());
870 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 40), val.asFloat());
875 val = Json::Value(-(Json::Int64(1) << 40));
877 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
886 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
887 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
888 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
890 JSONTEST_ASSERT_EQUAL(-(Json::Int64(1) << 40), val.asInt64());
891 JSONTEST_ASSERT_EQUAL(-(Json::Int64(1) << 40), val.asLargestInt());
892 JSONTEST_ASSERT_EQUAL(-(Json::Int64(1) << 40), val.asDouble());
893 JSONTEST_ASSERT_EQUAL(-(Json::Int64(1) << 40), val.asFloat());
898 val = Json::Value(Json::Int64(kint64max));
900 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
910 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
911 Json::intValue));
912 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
925 val = Json::Value(double(kint64max));
927 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
936 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
937 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
938 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
940 JSONTEST_ASSERT_EQUAL(Json::UInt64(1) << 63, val.asUInt64());
941 JSONTEST_ASSERT_EQUAL(Json::UInt64(1) << 63, val.asLargestUInt());
942 JSONTEST_ASSERT_EQUAL(uint64ToDouble(Json::UInt64(1) << 63), val.asDouble());
943 JSONTEST_ASSERT_EQUAL(float(uint64ToDouble(Json::UInt64(1) << 63)), val.asFloat());
948 val = Json::Value(Json::Int64(kint64min));
950 JSONTEST_ASSERT_EQUAL(Json::intValue, val.type());
959 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
960 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
961 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
972 val = Json::Value(double(kint64min));
974 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
983 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
984 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
985 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
995 val = Json::Value(Json::UInt64(kuint64max));
997 JSONTEST_ASSERT_EQUAL(Json::uintValue, val.type());
1006 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1007 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
1008 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
1019 val = Json::Value(uint64ToDouble(kuint64max));
1021 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1028 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1029 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
1030 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
1043 Json::Value val;
1046 val = Json::Value(1.5);
1048 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1055 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
1056 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
1057 JSONTEST_ASSERT(val.isConvertibleTo(Json::realValue));
1058 JSONTEST_ASSERT(val.isConvertibleTo(Json::booleanValue));
1059 JSONTEST_ASSERT(val.isConvertibleTo(Json::stringValue));
1060 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1061 JSONTEST_ASSERT(!val.isConvertibleTo(Json::arrayValue));
1062 JSONTEST_ASSERT(!val.isConvertibleTo(Json::objectValue));
1074 val = Json::Value(-1.5);
1076 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1083 JSONTEST_ASSERT(val.isConvertibleTo(Json::intValue));
1084 JSONTEST_ASSERT(val.isConvertibleTo(Json::realValue));
1085 JSONTEST_ASSERT(val.isConvertibleTo(Json::booleanValue));
1086 JSONTEST_ASSERT(val.isConvertibleTo(Json::stringValue));
1087 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1088 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
1089 JSONTEST_ASSERT(!val.isConvertibleTo(Json::arrayValue));
1090 JSONTEST_ASSERT(!val.isConvertibleTo(Json::objectValue));
1100 val = Json::Value(kint32max + 0.5);
1102 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1109 JSONTEST_ASSERT(val.isConvertibleTo(Json::uintValue));
1110 JSONTEST_ASSERT(val.isConvertibleTo(Json::realValue));
1111 JSONTEST_ASSERT(val.isConvertibleTo(Json::booleanValue));
1112 JSONTEST_ASSERT(val.isConvertibleTo(Json::stringValue));
1113 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1114 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
1115 JSONTEST_ASSERT(!val.isConvertibleTo(Json::arrayValue));
1116 JSONTEST_ASSERT(!val.isConvertibleTo(Json::objectValue));
1129 val = Json::Value(kint32min - 0.5);
1131 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1138 JSONTEST_ASSERT(val.isConvertibleTo(Json::realValue));
1139 JSONTEST_ASSERT(val.isConvertibleTo(Json::booleanValue));
1140 JSONTEST_ASSERT(val.isConvertibleTo(Json::stringValue));
1141 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1142 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
1143 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
1144 JSONTEST_ASSERT(!val.isConvertibleTo(Json::arrayValue));
1145 JSONTEST_ASSERT(!val.isConvertibleTo(Json::objectValue));
1150 JSONTEST_ASSERT_EQUAL(-Json::Int64(1)<< 31, val.asLargestInt());
1156 val = Json::Value(kuint32max + 0.5);
1158 JSONTEST_ASSERT_EQUAL(Json::realValue, val.type());
1165 JSONTEST_ASSERT(val.isConvertibleTo(Json::realValue));
1166 JSONTEST_ASSERT(val.isConvertibleTo(Json::booleanValue));
1167 JSONTEST_ASSERT(val.isConvertibleTo(Json::stringValue));
1168 JSONTEST_ASSERT(!val.isConvertibleTo(Json::nullValue));
1169 JSONTEST_ASSERT(!val.isConvertibleTo(Json::intValue));
1170 JSONTEST_ASSERT(!val.isConvertibleTo(Json::uintValue));
1171 JSONTEST_ASSERT(!val.isConvertibleTo(Json::arrayValue));
1172 JSONTEST_ASSERT(!val.isConvertibleTo(Json::objectValue));
1177 JSONTEST_ASSERT_EQUAL((Json::Int64(1) << 32)-1, val.asLargestInt());
1178 JSONTEST_ASSERT_EQUAL((Json::UInt64(1) << 32)-Json::UInt64(1), val.asLargestUInt());
1183 val = Json::Value(1.2345678901234);
1189 ValueTest::checkConstMemberCount( const Json::Value &value, unsigned int expectedCount )
1192 Json::Value::const_iterator itEnd = value.end();
1193 for ( Json::Value::const_iterator it = value.begin(); it != itEnd; ++it )
1197 JSONTEST_ASSERT_EQUAL( expectedCount, count ) << "Json::Value::const_iterator";
1201 ValueTest::checkMemberCount( Json::Value &value, unsigned int expectedCount )
1206 Json::Value::iterator itEnd = value.end();
1207 for ( Json::Value::iterator it = value.begin(); it != itEnd; ++it )
1211 JSONTEST_ASSERT_EQUAL( expectedCount, count ) << "Json::Value::iterator";
1235 ValueTest::checkIs( const Json::Value &value, const IsCheck &check )
1259 JSONTEST_ASSERT_PRED( checkIsEqual( Json::Value(), Json::Value() ) );
1275 JSONTEST_ASSERT_PRED( checkIsLess( 0u, Json::Value::maxUInt ) );
1313 Json::Value emptyArray(Json::arrayValue);
1314 Json::Value l1aArray;
1316 Json::Value l1bArray;
1318 Json::Value l2aArray;
1321 Json::Value l2bArray;
1328 JSONTEST_ASSERT_PRED( checkIsEqual( emptyArray, Json::Value( emptyArray ) ) );
1329 JSONTEST_ASSERT_PRED( checkIsEqual( l1aArray, Json::Value( l1aArray) ) );
1330 JSONTEST_ASSERT_PRED( checkIsEqual( l2bArray, Json::Value( l2bArray) ) );
1337 Json::Value emptyObject(Json::objectValue);
1338 Json::Value l1aObject;
1340 Json::Value l1bObject;
1342 Json::Value l2aObject;
1348 JSONTEST_ASSERT_PRED( checkIsEqual( emptyObject, Json::Value( emptyObject ) ) );
1349 JSONTEST_ASSERT_PRED( checkIsEqual( l1aObject, Json::Value( l1aObject ) ) );
1350 JSONTEST_ASSERT_PRED( checkIsEqual( l2aObject, Json::Value( l2aObject ) ) );
1357 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(), Json::Value(1) ) );
1358 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(1), Json::Value(1u) ) );
1359 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(1u), Json::Value(1.0) ) );
1360 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(1.0), Json::Value("a") ) );
1361 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value("a"), Json::Value(true) ) );
1362 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(true), Json::Value(Json::arrayValue) ) );
1363 JSONTEST_ASSERT_PRED( checkIsLess( Json::Value(Json::arrayValue), Json::Value(Json::objectValue) ) );
1368 ValueTest::checkIsLess( const Json::Value &x, const Json::Value &y )
1386 ValueTest::checkIsEqual( const Json::Value &x, const Json::Value &y )