mirror of
https://github.com/tgorordo/smithy.git
synced 2026-06-05 16:22:15 -07:00
41 lines
843 B
Python
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"]
|