@@ -385,7 +385,7 @@ TEST_F(HashesTest, HIncrbyfloat) {
385385 // operation is performed
386386 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_FIELD" , " 12.3456" , &new_value);
387387 ASSERT_TRUE (s.ok ());
388- ASSERT_EQ ( new_value, " 12.3456" );
388+ ASSERT_NEAR ( std::stod ( new_value), 12.3456 , 1e-9 );
389389 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_FIELD" , &new_value);
390390 ASSERT_TRUE (s.ok ());
391391 // ASSERT_EQ(new_value, "12.3456");
@@ -407,10 +407,10 @@ TEST_F(HashesTest, HIncrbyfloat) {
407407 // operation is performed
408408 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NOT_EXIST_FIELD" , " 65.4321000" , &new_value);
409409 ASSERT_TRUE (s.ok ());
410- ASSERT_EQ ( new_value, " 65.4321" );
410+ ASSERT_NEAR ( std::stod ( new_value), 65.4321 , 1e-9 );
411411 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NOT_EXIST_FIELD" , &new_value);
412412 ASSERT_TRUE (s.ok ());
413- ASSERT_EQ ( new_value, " 65.4321" );
413+ ASSERT_NEAR ( std::stod ( new_value), 65.4321 , 1e-9 );
414414 s = db.HLen (" HINCRBYFLOAT_KEY" , &ret);
415415 ASSERT_TRUE (s.ok ());
416416 ASSERT_EQ (ret, 3 );
@@ -421,18 +421,18 @@ TEST_F(HashesTest, HIncrbyfloat) {
421421 // Positive test
422422 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NUM_FIELD" , " +123.456789" , &new_value);
423423 ASSERT_TRUE (s.ok ());
424- ASSERT_EQ ( new_value, " 1123.456789" );
424+ ASSERT_NEAR ( std::stod ( new_value), 1123.456789 , 1e-9 );
425425 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NUM_FIELD" , &new_value);
426426 ASSERT_TRUE (s.ok ());
427- ASSERT_EQ ( new_value, " 1123.456789" );
427+ ASSERT_NEAR ( std::stod ( new_value), 1123.456789 , 1e-9 );
428428
429429 // Negative test
430430 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NUM_FIELD" , " -123.456789" , &new_value);
431431 ASSERT_TRUE (s.ok ());
432- ASSERT_EQ ( new_value, " 1000" );
432+ ASSERT_NEAR ( std::stod ( new_value), 1000 , 1e-9 );
433433 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_NUM_FIELD" , &new_value);
434434 ASSERT_TRUE (s.ok ());
435- ASSERT_EQ ( new_value, " 1000" );
435+ ASSERT_NEAR ( std::stod ( new_value), 1000 , 1e-9 );
436436
437437 s = db.HLen (" HINCRBYFLOAT_KEY" , &ret);
438438 ASSERT_TRUE (s.ok ());
@@ -442,83 +442,83 @@ TEST_F(HashesTest, HIncrbyfloat) {
442442 // case 1
443443 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD1" , " 2.0e2" , &new_value);
444444 ASSERT_TRUE (s.ok ());
445- ASSERT_EQ ( new_value, " 200" );
445+ ASSERT_NEAR ( std::stod ( new_value), 200 , 1e-9 );
446446 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD1" , &new_value);
447447 ASSERT_TRUE (s.ok ());
448- ASSERT_EQ ( new_value, " 200" );
448+ ASSERT_NEAR ( std::stod ( new_value), 200 , 1e-9 );
449449
450450 // case2
451451 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD2" , " 5.0e3" , &new_value);
452452 ASSERT_TRUE (s.ok ());
453- ASSERT_EQ ( new_value, " 5000" );
453+ ASSERT_NEAR ( std::stod ( new_value), 5000 , 1e-9 );
454454 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD2" , " 2.0e2" , &new_value);
455455 ASSERT_TRUE (s.ok ());
456- ASSERT_EQ ( new_value, " 5200" );
456+ ASSERT_NEAR ( std::stod ( new_value), 5200 , 1e-9 );
457457 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD2" , &new_value);
458458 ASSERT_TRUE (s.ok ());
459- ASSERT_EQ ( new_value, " 5200" );
459+ ASSERT_NEAR ( std::stod ( new_value), 5200 , 1e-9 );
460460
461461 // case 3
462462 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD3" , " 5.0e3" , &new_value);
463463 ASSERT_TRUE (s.ok ());
464- ASSERT_EQ ( new_value, " 5000" );
464+ ASSERT_NEAR ( std::stod ( new_value), 5000 , 1e-9 );
465465 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD3" , " -2.0e2" , &new_value);
466466 ASSERT_TRUE (s.ok ());
467- ASSERT_EQ ( new_value, " 4800" );
467+ ASSERT_NEAR ( std::stod ( new_value), 4800 , 1e-9 );
468468 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD3" , &new_value);
469469 ASSERT_TRUE (s.ok ());
470- ASSERT_EQ ( new_value, " 4800" );
470+ ASSERT_NEAR ( std::stod ( new_value), 4800 , 1e-9 );
471471
472472 // case 4
473473 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD4" , " .456789" , &new_value);
474474 ASSERT_TRUE (s.ok ());
475- ASSERT_EQ ( new_value, " 0.456789" );
475+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
476476 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD4" , &new_value);
477477 ASSERT_TRUE (s.ok ());
478- ASSERT_EQ ( new_value, " 0.456789" );
478+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
479479
480480 // case5
481481 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD5" , " -.456789" , &new_value);
482482 ASSERT_TRUE (s.ok ());
483- ASSERT_EQ ( new_value, " -0.456789" );
483+ ASSERT_NEAR ( std::stod ( new_value), -0.456789 , 1e-9 );
484484 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD5" , &new_value);
485485 ASSERT_TRUE (s.ok ());
486- ASSERT_EQ ( new_value, " -0.456789" );
486+ ASSERT_NEAR ( std::stod ( new_value), -0.456789 , 1e-9 );
487487
488488 // case6
489489 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD6" , " +.456789" , &new_value);
490490 ASSERT_TRUE (s.ok ());
491- ASSERT_EQ ( new_value, " 0.456789" );
491+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
492492 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD6" , &new_value);
493493 ASSERT_TRUE (s.ok ());
494- ASSERT_EQ ( new_value, " 0.456789" );
494+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
495495
496496 // case7
497497 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD7" , " +.456789" , &new_value);
498498 ASSERT_TRUE (s.ok ());
499- ASSERT_EQ ( new_value, " 0.456789" );
499+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
500500 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD7" , " -.456789" , &new_value);
501501 ASSERT_TRUE (s.ok ());
502- ASSERT_EQ ( new_value, " 0 " );
502+ ASSERT_NEAR ( std::stod ( new_value), 0 , 1e-9 );
503503 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD7" , &new_value);
504504 ASSERT_TRUE (s.ok ());
505- ASSERT_EQ ( new_value, " 0 " );
505+ ASSERT_NEAR ( std::stod ( new_value), 0 , 1e-9 );
506506
507507 // case8
508508 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD8" , " -00000.456789000" , &new_value);
509509 ASSERT_TRUE (s.ok ());
510- ASSERT_EQ ( new_value, " -0.456789" );
510+ ASSERT_NEAR ( std::stod ( new_value), -0.456789 , 1e-9 );
511511 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD8" , &new_value);
512512 ASSERT_TRUE (s.ok ());
513- ASSERT_EQ ( new_value, " -0.456789" );
513+ ASSERT_NEAR ( std::stod ( new_value), -0.456789 , 1e-9 );
514514
515515 // case9
516516 s = db.HIncrbyfloat (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD9" , " +00000.456789000" , &new_value);
517517 ASSERT_TRUE (s.ok ());
518- ASSERT_EQ ( new_value, " 0.456789" );
518+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
519519 s = db.HGet (" HINCRBYFLOAT_KEY" , " HINCRBYFLOAT_SP_FIELD9" , &new_value);
520520 ASSERT_TRUE (s.ok ());
521- ASSERT_EQ ( new_value, " 0.456789" );
521+ ASSERT_NEAR ( std::stod ( new_value), 0.456789 , 1e-9 );
522522
523523 s = db.HLen (" HINCRBYFLOAT_KEY" , &ret);
524524 ASSERT_TRUE (s.ok ());
0 commit comments