RAPTOR v18.4: Исправлена отчетность, активированы выходные
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
from datetime import datetime
|
||||
from typing import Tuple
|
||||
|
||||
import pytest
|
||||
|
||||
from t_tech.invest import CandleInterval
|
||||
from t_tech.invest.utils import round_datetime_range
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("interval", "date_range", "expected_range"),
|
||||
[
|
||||
(
|
||||
CandleInterval.CANDLE_INTERVAL_1_MIN,
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
),
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=0, microsecond=0
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=2, second=0, microsecond=0
|
||||
),
|
||||
),
|
||||
),
|
||||
(
|
||||
CandleInterval.CANDLE_INTERVAL_HOUR,
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
),
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=0, second=0, microsecond=0
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=2, minute=0, second=0, microsecond=0
|
||||
),
|
||||
),
|
||||
),
|
||||
(
|
||||
CandleInterval.CANDLE_INTERVAL_DAY,
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
),
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=3, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
),
|
||||
),
|
||||
(
|
||||
CandleInterval.CANDLE_INTERVAL_WEEK,
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
),
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=9, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
),
|
||||
),
|
||||
(
|
||||
CandleInterval.CANDLE_INTERVAL_MONTH,
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=1, day=2, hour=1, minute=1, second=1, microsecond=1
|
||||
),
|
||||
),
|
||||
(
|
||||
datetime(
|
||||
year=2023, month=1, day=1, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
datetime(
|
||||
year=2023, month=2, day=1, hour=0, minute=0, second=0, microsecond=0
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_round_datetime_range(
|
||||
interval: CandleInterval,
|
||||
date_range: Tuple[datetime, datetime],
|
||||
expected_range: Tuple[datetime, datetime],
|
||||
):
|
||||
actual_range = round_datetime_range(
|
||||
date_range=date_range,
|
||||
interval=interval,
|
||||
)
|
||||
|
||||
assert actual_range == expected_range
|
||||
Reference in New Issue
Block a user