import polars as pl from smithy import smith_set def test_condorcet(): df = pl.DataFrame( { "A": [1, 1, 2, 1], "B": [2, 2, 1, 2], "C": [3, 3, 3, 3], } ) assert smith_set(df) == ["A"] def test_rockpprscrcycle(): df = pl.DataFrame( { "A": [1, 2, 3], "B": [2, 3, 1], "C": [3, 1, 2], } ) assert smith_set(df) == ["A", "B", "C"] def test_abpair(): df = pl.DataFrame({"A": [1, 2, 1, 3], "B": [2, 1, 3, 1], "C": [3, 3, 2, 2]}) assert smith_set(df) == ["A", "B"] def test_fourcycle(): df = pl.DataFrame( { "A": [1, 2, 3, 4], "B": [2, 3, 4, 1], "C": [3, 4, 1, 2], "D": [4, 1, 2, 3], } ) assert smith_set(df) == ["A", "B", "C", "D"]