本文整理汇总了Python中arctic.tickstore.tickstore.TickStore._mongo_date_range_query方法的典型用法代码示例。如果您正苦于以下问题:Python TickStore._mongo_date_range_query方法的具体用法?Python TickStore._mongo_date_range_query怎么用?Python TickStore._mongo_date_range_query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类arctic.tickstore.tickstore.TickStore
的用法示例。
在下文中一共展示了TickStore._mongo_date_range_query方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_mongo_date_range_query
# 需要导入模块: from arctic.tickstore.tickstore import TickStore [as 别名]
# 或者: from arctic.tickstore.tickstore.TickStore import _mongo_date_range_query [as 别名]
def test_mongo_date_range_query():
self = create_autospec(TickStore)
self._collection = create_autospec(Collection)
self._symbol_query.return_value = {"sy": {"$in" : ["s1" , "s2"]}}
self._collection.aggregate.return_value = iter([{"_id": "s1", "start": dt(2014, 1, 1, 0, 0, tzinfo=mktz())},
{"_id": "s2", "start": dt(2014, 1, 1, 12, 0, tzinfo=mktz())}])
self._collection.find_one.side_effect = [
{'e': dt(2014, 1, 1, 15, 0, tzinfo=mktz())},
{'e': dt(2014, 1, 2, 12, 0, tzinfo=mktz())}]
query = TickStore._mongo_date_range_query(self, 'sym', DateRange(dt(2014, 1, 2, 0, 0, tzinfo=mktz()),
dt(2014, 1, 3, 0, 0, tzinfo=mktz())))
assert self._collection.aggregate.call_args_list == [call([
{"$match": {"s": {"$lte": dt(2014, 1, 2, 0, 0, tzinfo=mktz())}, "sy": {"$in" : ["s1" , "s2"]}}},
{"$project": {"_id": 0, "s": 1, "sy": 1}},
{"$group": {"_id": "$sy", "start": {"$max": "$s"}}},
{"$sort": {"start": 1}}])]
assert self._collection.find_one.call_args_list == [
call({'sy': 's1', 's': dt(2014, 1, 1, 0, 0, tzinfo=mktz())}, {'e': 1}),
call({'sy': 's2', 's': dt(2014, 1, 1, 12, 0, tzinfo=mktz())}, {'e': 1})]
assert query == {'s': {'$gte': dt(2014, 1, 1, 12, 0, tzinfo=mktz()), '$lte': dt(2014, 1, 3, 0, 0, tzinfo=mktz())}}
示例2: test_mongo_date_range_query
# 需要导入模块: from arctic.tickstore.tickstore import TickStore [as 别名]
# 或者: from arctic.tickstore.tickstore.TickStore import _mongo_date_range_query [as 别名]
def test_mongo_date_range_query():
self = create_autospec(TickStore)
self._collection = create_autospec(Collection)
self._collection.find_one.return_value = {'s': sentinel.start}
self._symbol_query = partial(TickStore._symbol_query, self)
query = TickStore._mongo_date_range_query(self, 'sym', DateRange(dt(2014, 1, 1, 0, 0, tzinfo=mktz()),
dt(2014, 1, 2, 0, 0, tzinfo=mktz())))
assert self._collection.find_one.call_args_list == [call({'sy': 'sym', 's': {'$lte': dt(2014, 1, 1, 0, 0, tzinfo=mktz())}},
sort=[('s', -1)], projection={'s': 1, '_id': 0}),
call({'sy': 'sym', 's': {'$gt': dt(2014, 1, 2, 0, 0, tzinfo=mktz())}},
sort=[('s', 1)], projection={'s': 1, '_id': 0})]
assert query == {'s': {'$gte': sentinel.start, '$lt': sentinel.start}}
示例3: test_mongo_date_range_query_asserts
# 需要导入模块: from arctic.tickstore.tickstore import TickStore [as 别名]
# 或者: from arctic.tickstore.tickstore.TickStore import _mongo_date_range_query [as 别名]
def test_mongo_date_range_query_asserts():
self = create_autospec(TickStore)
self._collection = create_autospec(Collection)
self._collection.find_one.return_value = {'s': sentinel.start}
with pytest.raises(AssertionError):
TickStore._mongo_date_range_query(self, 'sym', DateRange(None, None, CLOSED_OPEN))
with pytest.raises(AssertionError):
TickStore._mongo_date_range_query(self, 'sym', DateRange(dt(2014, 1, 1), None))
with pytest.raises(AssertionError):
TickStore._mongo_date_range_query(self, 'sym', DateRange(None, dt(2014, 1, 1)))
示例4: test_mongo_date_range_query
# 需要导入模块: from arctic.tickstore.tickstore import TickStore [as 别名]
# 或者: from arctic.tickstore.tickstore.TickStore import _mongo_date_range_query [as 别名]
def test_mongo_date_range_query():
self = create_autospec(TickStore)
self._collection = create_autospec(Collection)
self._collection.find_one.return_value = {"s": sentinel.start}
self._symbol_query = partial(TickStore._symbol_query, self)
query = TickStore._mongo_date_range_query(
self, "sym", DateRange(dt(2014, 1, 1, 0, 0, tzinfo=mktz()), dt(2014, 1, 2, 0, 0, tzinfo=mktz()))
)
assert self._collection.find_one.call_args_list == [
call(
{"sy": "sym", "s": {"$lte": dt(2014, 1, 1, 0, 0, tzinfo=mktz())}},
sort=[("s", -1)],
projection={"s": 1, "_id": 0},
),
call(
{"sy": "sym", "s": {"$gt": dt(2014, 1, 2, 0, 0, tzinfo=mktz())}},
sort=[("s", 1)],
projection={"s": 1, "_id": 0},
),
]
assert query == {"s": {"$gte": sentinel.start, "$lt": sentinel.start}}