package dev.castarr.tv.data import org.junit.Assert.assertEquals import org.junit.Assert.assertNull import org.junit.Test class FixtureTest { @Test fun `competition prefix and round suffix fall away`() { assertEquals( "Nordstadt - FC St. Pauli", TeamFilters.fixture("Pokal: Nordstadt - FC St. Pauli, 1. Runde"), ) } @Test fun `a bare pairing survives unchanged`() { assertEquals( "FC Bayern München - Borussia Dortmund", TeamFilters.fixture("FC Bayern München - Borussia Dortmund"), ) } @Test fun `en dash and vs count as separators`() { assertEquals("Schalke - HSV", TeamFilters.fixture("2. Liga: Schalke – HSV")) assertEquals("Kiel - Rostock", TeamFilters.fixture("Kiel vs. Rostock")) } @Test fun `trailing channel detail is dropped`() { assertEquals( "Werder - Union Berlin", TeamFilters.fixture("Bundesliga: Werder - Union Berlin | live"), ) } /** A magazine about the club is a hit, but has no pairing to shorten. */ @Test fun `a title without a pairing keeps the original`() { assertNull(TeamFilters.fixture("FC St. Pauli: Der Rückblick")) assertNull(TeamFilters.fixture("Sportschau")) } @Test fun `a dangling separator is not a pairing`() { assertNull(TeamFilters.fixture("Pokal: - , 1. Runde")) } /** Hyphenated club names must not be mistaken for the separator. */ @Test fun `hyphens inside a name do not split`() { assertEquals( "Rot-Weiss Essen - Preußen Münster", TeamFilters.fixture("3. Liga: Rot-Weiss Essen - Preußen Münster"), ) } }