9a99ffdd0ee9b67cd3ac94deb86d9eb629793b8c
[p2pool.git] / p2pool / test / util / test_bases.py
1 import random
2 import unittest
3
4 from p2pool.util import bases
5
6 def generate_alphabet():
7     if random.randrange(2):
8         return None
9     else:
10         a = map(chr, xrange(256))
11         random.shuffle(a)
12         return a[:random.randrange(2, len(a))]
13
14 class Test(unittest.TestCase):
15     def test_all(self):
16         for i in xrange(10):
17             alphabet = generate_alphabet()
18             for i in xrange(100):
19                 n = random.randrange(100000000000000000000000000000)
20                 s = bases.natural_to_string(n, alphabet)
21                 n2 = bases.string_to_natural(s, alphabet)
22                 #print n, s.encode('hex'), n2
23                 self.assertEquals(n, n2)