from decimal import Decimal

from src.hyperliquid.rounding import HyperliquidAssetMeta, round_hyperliquid_price, round_hyperliquid_size


def test_round_hyperliquid_size_uses_sz_decimals_floor():
    meta = HyperliquidAssetMeta(coin="BTC", asset_id=0, sz_decimals=5)

    assert round_hyperliquid_size(Decimal("0.123456789"), meta) == Decimal("0.12345")


def test_round_hyperliquid_price_keeps_max_significant_figures():
    assert round_hyperliquid_price(Decimal("12345.6789123")) == Decimal("12345")
    assert round_hyperliquid_price(Decimal("0.0123456789")) == Decimal("0.012345")
