Subversion Repositories Local Hare Voting

Rev

Rev 75 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 75 Rev 78
Line 9... Line 9...
9
class ModTest(unittest.TestCase):
9
class ModTest(unittest.TestCase):
10
    def testNormalCase(self):
10
    def testNormalCase(self):
11
        self.assertEqual(1, 1)
11
        self.assertEqual(1, 1)
12
 
12
 
13
    def testUniverse(self):
13
    def testUniverse(self):
14
	x = tally.Universe(1.0, 3, 100, quota=5)
14
        x = tally.Universe(1.0, 3, 100, quota=5)
15
	self.assertEqual(x.p, 1.0)
15
        self.assertEqual(x.p, 1.0)
16
	self.assertEqual(x.id, 1)
16
        self.assertEqual(x.id, 1)
17
	self.assertEqual(x.nBallots, 100)
17
        self.assertEqual(x.nBallots, 100)
18
	self.assertEqual(x.quota, 5)
18
        self.assertEqual(x.quota, 5)
19
	self.assertEqual(x.winners, [])
19
        self.assertEqual(x.winners, [])
20
 
20
 
21
	tally.fParallel = 1
21
        tally.fParallel = 1
22
 
22
 
23
	self.assertEqual(x.forkPendingWinners([5,1,2,3]), 5)
23
        self.assertEqual(x.forkPendingWinners([5,1,2,3]), 5)
24
	self.assertEqual(x.p, 1.0/4)
24
        self.assertEqual(x.p, 1.0/4)
25
	self.assertEqual(len(tally.Universe.pendingUniverses), 3)
25
        self.assertEqual(len(tally.Universe.pendingUniverses), 3)
26
 
26
 
27
	self.assertEqual(x.forkPendingLosers(["A",1,2,3,4,5]), "A")
27
        self.assertEqual(x.forkPendingLosers(["A",1,2,3,4,5]), "A")
28
	self.assertEqual(x.p, 1.0/4.0/6)
28
        self.assertEqual(x.p, 1.0/4.0/6)
29
	self.assertEqual(len(tally.Universe.pendingUniverses), 8)
29
        self.assertEqual(len(tally.Universe.pendingUniverses), 8)
30
    
30
    
31
	self.assertEqual(x.forkPendingRedist(["A"], "A"), "A")
31
        self.assertEqual(x.forkPendingRedist(["A"], "A"), "A")
32
	self.assertRaises(ZeroDivisionError, x.forkPendingRedist, [], None)
32
        self.assertRaises(ZeroDivisionError, x.forkPendingRedist, [], None)
33
 
33
 
34
    def testCombinations(self):
34
    def testCombinations(self):
35
	l = ["A", "B", "C", "D", "E"]
35
        l = ["A", "B", "C", "D", "E"]
36
	self.doCombination(l, 2, 10)
36
        self.doCombination(l, 2, 10)
37
	self.doCombination(l, 3, 10)
37
        self.doCombination(l, 3, 10)
38
	self.doCombination(l, 4, 5)
38
        self.doCombination(l, 4, 5)
39
	self.doCombination(l, 5, 1)
39
        self.doCombination(l, 5, 1)
40
 
40
 
41
    def doCombination(self, l, n, t):
41
    def doCombination(self, l, n, t):
42
	c = 0
42
        c = 0
43
	for i in tally.combinations(l, n):
43
        for i in tally.combinations(l, n):
44
	    self.assertEqual(len(i), n)
44
            self.assertEqual(len(i), n)
45
	    print i
45
            print i
46
	    c += 1
46
            c += 1
47
	self.assertEqual(c, t)
47
        self.assertEqual(c, t)
48
 
48
 
49
if __name__=="__main__":
49
if __name__=="__main__":
50
    unittest.main()
50
    unittest.main()