Files
dzentra_bot/app/tests/unit/integrations/exchange/test_symbol_utils.py

74 lines
1.7 KiB
Python

# app/tests/unit/integrations/exchange/test_symbol_utils.py
from __future__ import annotations
import pytest
from src.integrations.exchange.symbol_utils import (
normalize_symbol as legacy_normalize_symbol,
)
from src.integrations.exchange.symbol_utils import (
symbol_candidates as legacy_symbol_candidates,
)
from src.market_data.acquisition.symbols import (
normalize_symbol as new_normalize_symbol,
)
from src.market_data.acquisition.symbols import (
symbol_candidates as new_symbol_candidates,
)
@pytest.mark.parametrize(
"raw_symbol",
[
"",
" ",
"btc/usd",
" BTC/USD ",
"btc%2fusd",
"btc / usd",
"btc%2f / usd",
"eth/usd_leverage",
"btc\t/usd",
"btc\n/usd",
],
)
def test_legacy_normalize_symbol_matches_new_implementation(
raw_symbol: str,
) -> None:
assert (
legacy_normalize_symbol(raw_symbol)
== new_normalize_symbol(raw_symbol)
)
@pytest.mark.parametrize(
"raw_symbol",
[
"",
" ",
"btc/usd",
" BTC/USD ",
"btc%2fusd",
"btc / usd",
"btc%2f / usd",
"eth/usd_leverage",
"btc\t/usd",
"btc\n/usd",
],
)
def test_legacy_symbol_candidates_matches_new_implementation(
raw_symbol: str,
) -> None:
assert (
legacy_symbol_candidates(raw_symbol)
== new_symbol_candidates(raw_symbol)
)
def test_legacy_facade_exports_same_normalize_function() -> None:
assert legacy_normalize_symbol is new_normalize_symbol
def test_legacy_facade_exports_same_candidates_function() -> None:
assert legacy_symbol_candidates is new_symbol_candidates