smithy/test/test_rcvs.py

41 lines
843 B
Python

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"]