@@ -453,6 +453,49 @@ def test_read_spanning_chunks(tickstore_lib):
453
453
{'s' : {'$gte' : dt (2013 , 6 , 1 , 12 , 30 , tzinfo = mktz ('UTC' )), '$lte' : dt (2013 , 6 , 1 , 15 , 0 , tzinfo = mktz ('UTC' ))}}
454
454
455
455
456
+ def test_read_inside_range (tickstore_lib ):
457
+ SYM1_DATA = [
458
+ {'a' : 1. ,
459
+ 'b' : 2. ,
460
+ 'index' : dt (2013 , 6 , 1 , 0 , 00 , tzinfo = mktz ('UTC' ))
461
+ },
462
+ {'a' : 3. ,
463
+ 'b' : 4. ,
464
+ 'index' : dt (2013 , 6 , 1 , 1 , 00 , tzinfo = mktz ('UTC' ))
465
+ },
466
+ # Chunk boundary here
467
+ {'a' : 5. ,
468
+ 'b' : 6. ,
469
+ 'index' : dt (2013 , 6 , 1 , 14 , 00 , tzinfo = mktz ('UTC' ))
470
+ }
471
+ ]
472
+ SYM2_DATA = [
473
+ {'a' : 7. ,
474
+ 'b' : 8. ,
475
+ 'index' : dt (2013 , 6 , 1 , 12 , 30 , tzinfo = mktz ('UTC' ))
476
+ },
477
+ {'a' : 9. ,
478
+ 'b' : 10. ,
479
+ 'index' : dt (2013 , 6 , 1 , 13 , 30 , tzinfo = mktz ('UTC' ))
480
+ },
481
+ # Chunk boundary here
482
+ {'a' : 11. ,
483
+ 'b' : 12. ,
484
+ 'index' : dt (2013 , 6 , 1 , 14 , 30 , tzinfo = mktz ('UTC' ))
485
+ }
486
+ ]
487
+ tickstore_lib ._chunk_size = 2
488
+ tickstore_lib .write ('SYM1' , SYM1_DATA )
489
+ tickstore_lib .write ('SYM2' , SYM2_DATA )
490
+
491
+ # If there are no chunks spanning the range, we still cap the start range so that we don't
492
+ # fetch SYM1's 0am--1am chunk
493
+ assert tickstore_lib ._mongo_date_range_query (
494
+ ['SYM1' , 'SYM2' ],
495
+ date_range = DateRange (dt (2013 , 6 , 1 , 10 , 0 , tzinfo = mktz ('UTC' )),
496
+ dt (2013 , 6 , 1 , 15 , 0 , tzinfo = mktz ('UTC' )))) == \
497
+ {'s' : {'$gte' : dt (2013 , 6 , 1 , 10 , 0 , tzinfo = mktz ('UTC' )), '$lte' : dt (2013 , 6 , 1 , 15 , 0 , tzinfo = mktz ('UTC' ))}}
498
+
456
499
def test_read_longs (tickstore_lib ):
457
500
DUMMY_DATA = [
458
501
{'a' : 1 ,
0 commit comments