Exemple #1
0
 def test_can_normalize_a_dataframe(self):
     df = pandas.DataFrame(
         {
             "first": [None, "Amy", "Amy", "Kamala"],
             "second": ["Elizabeth", "Elizabeth", "Amy", "Amy"],
             "third": ["Kamala", "Kamala", "Elizabeth", "Elizabeth"],
         }
     )
     schedule = PreferenceSchedule.from_dataframe(df)
     assert set(schedule) == {
         (("Elizabeth", "Kamala"), 1),
         (("Amy", "Elizabeth", "Kamala"), 1),
         (("Amy", "Elizabeth"), 1),
         (("Kamala", "Amy", "Elizabeth"), 1),
     }
Exemple #2
0
def run_stv(dataframe):
    schedule = PreferenceSchedule.from_dataframe(dataframe)
    stv = FractionalSTV(schedule, seats=3)
    return stv.elect()
Exemple #3
0
 def test_create_from_dataframe(self, dataframe):
     schedule = PreferenceSchedule.from_dataframe(dataframe)
     assert schedule
Exemple #4
0
def run_stv(dataframe):
    assert len(dataframe.columns) == 3
    schedule = PreferenceSchedule.from_dataframe(dataframe)
    stv = FractionalSTV(schedule, seats=3)
    return stv.elect()