Rev 61 | Rev 72 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/p/python/pythonimport osimport unittestimport randomimport tallyclass ModTest(unittest.TestCase):def testNormalCase(self):self.assertEqual(1, 1)def testUniverse(self):x = tally.Universe(1.0, 3, 100, quota=5)self.assertEqual(x.p, 1.0)self.assertEqual(x.id, 1)self.assertEqual(x.nBallots, 100)self.assertEqual(x.quota, 5)self.assertEqual(x.winners, [])tally.fParallel = 1self.assertEqual(x.forkPendingWinners([5,1,2,3]), 5)self.assertEqual(x.p, 1.0/4)self.assertEqual(len(tally.Universe.pendingUniverses), 3)self.assertEqual(x.forkPendingLosers(["A",1,2,3,4,5]), "A")self.assertEqual(x.p, 1.0/4.0/6)self.assertEqual(len(tally.Universe.pendingUniverses), 8)self.assertEqual(x.forkPendingRedist(["A"], "A"), "A")self.assertRaises(ZeroDivisionError, x.forkPendingRedist, [], None)def testCombinations(self):l = ["A", "B", "C", "D", "E"]self.doCombination(l, 2, 10)self.doCombination(l, 3, 10)self.doCombination(l, 4, 5)self.doCombination(l, 5, 1)def doCombination(self, l, n, t):c = 0for i in tally.combinations(l, n):self.assertEqual(len(i), n)print ic += 1self.assertEqual(c, t)if __name__=="__main__":unittest.main()