@@ -1273,32 +1273,31 @@ def testOutOfRangeValues(env):
1273
1273
}
1274
1274
1275
1275
doc_float_ok = {
1276
- "max_f64" : 1.7976931348623157e+308 ,
1277
- "beyond_max_f64 " : 1.7976931348623158e+308 , # why OK?
1278
- "min_f64" : - 1.7976931348623157e+308 ,
1279
- "below_min_f64 " : - 1.7976931348623158e+308 , # why OK?
1276
+ "max_f64" : 1.7976931348623157e+308 ,
1277
+ "max2_f64 " : 1.7976931348623158e+308 ,
1278
+ "min_f64" : - 1.7976931348623157e+308 ,
1279
+ "min2_f64 " : - 1.7976931348623158e+308 ,
1280
1280
}
1281
1281
1282
1282
doc_bad_values = {
1283
- "beyond1_max_f64 " : 1.7976931348623159e+308 ,
1284
- "below1_min_f64 " : - 1.7976931348623159e+308
1283
+ "beyond_max_f64 " : 1.7976931348623159e+308 ,
1284
+ "below_min_f64 " : - 1.7976931348623159e+308
1285
1285
}
1286
1286
1287
1287
r .expect ('JSON.SET' , 'doc_int_ok' , '$' , json .dumps (doc_int_ok )).ok ()
1288
1288
r .expect ('JSON.SET' , 'doc_float_ok' , '$' , json .dumps (doc_float_ok )).ok ()
1289
- epsilon = 0
1290
- for k , v in iter (doc_int_ok .items ()):
1291
- r .assertTrue (True , message = 'GET {}={}' .format (k , v ))
1292
- res = r .execute_command ('JSON.GET' , 'doc_int_ok' , '$.{}' .format (k ))
1293
- r .assertAlmostEqual (json .loads (res )[0 ], v , epsilon , message = res )
1294
-
1295
- epsilon = sys .float_info .epsilon
1296
- for k , v in iter (doc_float_ok .items ()):
1297
- r .assertTrue (True , message = 'GET {}={}' .format (k , v ))
1298
- res = r .execute_command ('JSON.GET' , 'doc_float_ok' , '$.{}' .format (k ))
1299
- r .assertAlmostEqual (json .loads (res )[0 ], v , epsilon , message = res )
1289
+
1290
+ def check_object_values (obj , name , epsilon ):
1291
+ for k , v in iter (obj .items ()):
1292
+ r .assertTrue (True , message = 'GET {}={}' .format (k , v ))
1293
+ res = r .execute_command ('JSON.GET' , name , '$.{}' .format (k ))
1294
+ r .assertAlmostEqual (json .loads (res )[0 ], v , epsilon , message = res )
1300
1295
1301
- # Do not use json.dumps with out-of-range values here (would be converted to a string representation such as 'Infinity')
1296
+ # Test values from JSON.GET are equal to JSON.SET
1297
+ check_object_values (doc_int_ok , 'doc_int_ok' , 0 )
1298
+ check_object_values (doc_float_ok , 'doc_float_ok' , sys .float_info .epsilon )
1299
+
1300
+ # Not using json.dumps with out-of-range values here (would be converted to a string representation such as 'Infinity')
1302
1301
r .expect ('JSON.SET' , 'doc_bad_values' , '$' , '{}' ).ok ()
1303
1302
for k , v in iter (doc_bad_values .items ()):
1304
1303
r .assertTrue (True , message = 'SET {}={}' .format (k , v ))
0 commit comments