Exemple #1
0
 def test_majority(self):
     ballots = [['Bluesy', 'Slice', 'Awesome', 'Mysterious'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome', 'Mysterious']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Bluesy']))
Exemple #2
0
 def test_majority(self):
     ballots = [['Bluesy', 'Slice', 'Awesome', 'Mysterious'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome', 'Mysterious']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Bluesy']))
Exemple #3
0
 def test_tie(self):
     ballots = [['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Awesome', 'Slice'],
                ['Slice', 'Awesome', 'Bluesy'],
                ['Slice', 'Awesome', 'Bluesy']]
     # Awesome should get eliminated, but that still leaves a tie
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice', 'Bluesy']))
Exemple #4
0
 def test_tie(self):
     ballots = [['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Awesome', 'Slice'],
                ['Slice', 'Awesome', 'Bluesy'],
                ['Slice', 'Awesome', 'Bluesy']]
     # Awesome should get eliminated, but that still leaves a tie
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice', 'Bluesy']))
Exemple #5
0
 def test_tie_3(self):
     ballots = [['Awesome', 'Bluesy', 'Slice'],
                ['Awesome', 'Slice', 'Bluesy'],
                ['Slice', 'Bluesy', 'Awesome'],
                ['Slice', 'Awesome', 'Bluesy'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Awesome', 'Slice']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Awesome', 'Bluesy', 'Slice']))
Exemple #6
0
 def test_tie_3(self):
     ballots = [['Awesome', 'Bluesy', 'Slice'],
                ['Awesome', 'Slice', 'Bluesy'],
                ['Slice', 'Bluesy', 'Awesome'],
                ['Slice', 'Awesome', 'Bluesy'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Awesome', 'Slice']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Awesome', 'Bluesy', 'Slice']))
Exemple #7
0
 def test_eliminate_loser(self):
     ballots = [['Slice', 'Bluesy', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Awesome', 'Slice', 'Bluesy'],
                ['Awesome', 'Slice', 'Bluesy']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Bluesy']))
     for ballot in ballots:
         self.assertNotIn('Slice', ballot)
Exemple #8
0
 def test_eliminate_loser(self):
     ballots = [['Slice', 'Bluesy', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Bluesy', 'Slice', 'Awesome'],
                ['Awesome', 'Slice', 'Bluesy'],
                ['Awesome', 'Slice', 'Bluesy']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Bluesy']))
     for ballot in ballots:
         self.assertNotIn('Slice', ballot)
Exemple #9
0
 def test_single_ballot(self):
     ballots = [['Slice', 'Sneaky']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice']))
Exemple #10
0
 def test_no_majority(self):
     ballots = [['Slice', 'Sneaky'],
                ['Sneaky', 'Slice']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice', 'Sneaky']))
Exemple #11
0
 def test_empty(self):
     ballots = []
     winners = irv.run_irv(ballots)
     self.assertEqual(winners, [])
Exemple #12
0
 def test_single_ballot(self):
     ballots = [['Slice', 'Sneaky']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice']))
Exemple #13
0
 def test_no_majority(self):
     ballots = [['Slice', 'Sneaky'], ['Sneaky', 'Slice']]
     winners = irv.run_irv(ballots)
     self.assertSetEqual(set(winners), set(['Slice', 'Sneaky']))
Exemple #14
0
 def test_empty(self):
     ballots = []
     winners = irv.run_irv(ballots)
     self.assertEqual(winners, [])