86 lines
2.3 KiB
Python
86 lines
2.3 KiB
Python
# pylint:disable=protected-access
|
|
from datetime import datetime
|
|
|
|
import pytest
|
|
|
|
from t_tech.invest.schemas import CandleInterval
|
|
from t_tech.invest.utils import empty_or_uuid, get_intervals
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
("candle_interval", "interval", "intervals"),
|
|
[
|
|
(
|
|
CandleInterval.CANDLE_INTERVAL_DAY,
|
|
(datetime(2021, 1, 25, 0, 0), datetime(2022, 1, 25, 0, 1)),
|
|
[
|
|
(
|
|
datetime(2021, 1, 25, 0, 0),
|
|
datetime(2022, 1, 25, 0, 0),
|
|
)
|
|
],
|
|
),
|
|
(
|
|
CandleInterval.CANDLE_INTERVAL_DAY,
|
|
(datetime(2021, 1, 25, 0, 0), datetime(2023, 2, 26, 0, 1)),
|
|
[
|
|
(
|
|
datetime(2021, 1, 25, 0, 0),
|
|
datetime(2022, 1, 25, 0, 0),
|
|
),
|
|
(
|
|
datetime(2022, 1, 26, 0, 0),
|
|
datetime(2023, 1, 26, 0, 0),
|
|
),
|
|
(
|
|
datetime(2023, 1, 27, 0, 0),
|
|
datetime(2023, 2, 26, 0, 1),
|
|
),
|
|
],
|
|
),
|
|
(
|
|
CandleInterval.CANDLE_INTERVAL_DAY,
|
|
(datetime(2021, 1, 25, 0, 0), datetime(2022, 1, 25, 0, 0)),
|
|
[
|
|
(
|
|
datetime(2021, 1, 25, 0, 0),
|
|
datetime(2022, 1, 25, 0, 0),
|
|
),
|
|
],
|
|
),
|
|
(
|
|
CandleInterval.CANDLE_INTERVAL_DAY,
|
|
(datetime(2021, 1, 25, 0, 0), datetime(2022, 1, 24, 0, 0)),
|
|
[
|
|
(
|
|
datetime(2021, 1, 25, 0, 0),
|
|
datetime(2022, 1, 24, 0, 0),
|
|
),
|
|
],
|
|
),
|
|
],
|
|
)
|
|
def test_get_intervals(candle_interval, interval, intervals):
|
|
result = list(
|
|
get_intervals(
|
|
candle_interval,
|
|
*interval,
|
|
)
|
|
)
|
|
|
|
assert result == intervals
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"s, expected",
|
|
[
|
|
("", True),
|
|
("123", False),
|
|
("1234567890", False),
|
|
("12345678-1234-1234-1234-abcdabcdabcd", True),
|
|
("12345678-12g4-1234-1234-abcdabcdabcd", False),
|
|
],
|
|
)
|
|
def test_is_empty_or_uuid(s: str, expected: bool):
|
|
assert expected == empty_or_uuid(s)
|