1 from __future__ import division
6 from p2pool.util import math
8 def generate_alphabet():
9 if random.randrange(2):
12 a = map(chr, xrange(256))
14 return a[:random.randrange(2, len(a))]
16 class Test(unittest.TestCase):
17 def test_add_tuples(self):
18 assert math.add_tuples((1, 2, 3), (4, 5, 6)) == (5, 7, 9)
22 alphabet = generate_alphabet()
24 n = random.randrange(100000000000000000000000000000)
25 s = math.natural_to_string(n, alphabet)
26 n2 = math.string_to_natural(s, alphabet)
27 #print n, s.encode('hex'), n2
28 self.assertEquals(n, n2)
31 for n in xrange(1, 100):
32 for x in xrange(n + 1):
33 left, right = math.binomial_conf_interval(x, n)
34 assert 0 <= left <= x/n <= right <= 1, (left, right, x, n)