74 lines
1.7 KiB
Python
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 |