"""Title normalization must be symmetric and aggressive (spec)."""

from __future__ import annotations

from bggpipe.normalize import normalize_title


def test_casefold_and_punctuation():
    assert normalize_title("Wingspan: European Expansion") == (
        "wingspan european expansion"
    )


def test_accents_stripped():
    assert normalize_title("Café International") == "cafe international"


def test_ampersand_becomes_and():
    assert normalize_title("Axis & Allies") == "axis and allies"
    assert normalize_title("Axis and Allies") == "axis and allies"


def test_articles_dropped():
    assert normalize_title("The Castles of Burgundy") == "castles of burgundy"
    assert normalize_title("A Feast for Odin") == "feast for odin"


def test_whitespace_collapsed():
    assert normalize_title("  Ticket   to Ride ") == "ticket to ride"
