@@ -475,6 +475,48 @@ public void float_lessAndGreater_works() {
475475 );
476476 }
477477
478+ @ Test
479+ public void double_lessAndGreater_works () {
480+ putTestEntitiesScalars ();
481+ // Note: calculation matches putTestEntitiesScalars.
482+ double value = 2000 + 2005 / 100f ;
483+
484+ buildFindAndAssert (
485+ box .query ().less (TestEntity_ .simpleDouble , value ),
486+ 5 ,
487+ (index , item ) -> assertTrue (item .getSimpleDouble () < value )
488+ );
489+
490+ buildFindAndAssert (
491+ box .query ().lessOrEqual (TestEntity_ .simpleDouble , value ),
492+ 6 ,
493+ (index , item ) -> assertTrue (item .getSimpleDouble () <= value )
494+ );
495+
496+ buildFindAndAssert (
497+ box .query ().greater (TestEntity_ .simpleDouble , value ),
498+ 4 ,
499+ (index , item ) -> assertTrue (item .getSimpleDouble () > value )
500+ );
501+
502+ buildFindAndAssert (
503+ box .query ().greaterOrEqual (TestEntity_ .simpleDouble , value ),
504+ 5 ,
505+ (index , item ) -> assertTrue (item .getSimpleDouble () >= value )
506+ );
507+
508+ double valueLess = 2020.051 ;
509+ double valueGreater = 2020.029 ;
510+ buildFindAndAssert (
511+ box .query ().greater (TestEntity_ .simpleDouble , valueGreater ).less (TestEntity_ .simpleDouble , valueLess ),
512+ 3 ,
513+ (index , item ) -> {
514+ assertTrue (item .getSimpleDouble () < valueLess );
515+ assertTrue (item .getSimpleDouble () > valueGreater );
516+ }
517+ );
518+ }
519+
478520 @ Test
479521 // Android JNI seems to have a limit of 512 local jobject references. Internally, we must delete those temporary
480522 // references when processing lists. This is the test for that.
0 commit comments