Beispiel #1
0
 def _testLengthsImpl(self, first, power):
     num = 10 ** power
     combined = 0
     for n in range(first, first + num):
         combined = combined + len(number.repr(n))
     prefix = len(number.repr(first))
     self.assertEquals((combined, num), number.lengthUnder(power, prefix))
Beispiel #2
0
 def _testLengthsImpl(self, first, power):
     num = 10**power
     combined = 0
     for n in range(first, first + num):
         combined = combined + len(number.repr(n))
     prefix = len(number.repr(first))
     self.assertEquals((combined, num), number.lengthUnder(power, prefix))
Beispiel #3
0
 def _testListImpl(self, power):
     num = 10**power
     expected = [number.repr(n) for n in range(num)]
     expected.sort()
     listener = number.ListMaker(num)
     number.traverse("", power, listener)
     self.assertEquals(expected, listener.seen)
Beispiel #4
0
 def _testListImpl(self, power):
     num = 10 ** power
     expected = [number.repr(n) for n in range(num)]
     expected.sort()
     listener = number.ListMaker(num)
     number.traverse("", power, listener)
     self.assertEquals(expected, listener.seen)
Beispiel #5
0
 def testRepr(self):
     self.assertEquals("", number.repr(0))
     self.assertEquals("eight", number.repr(8))
     self.assertEquals("thirtynine", number.repr(39))
     self.assertEquals("fourhundredeleven", number.repr(411))
     self.assertEquals("fivethousandtwohundredseven", number.repr(5207))
     self.assertEquals("twohundredfifteenmillionone", number.repr(215000001))
     self.assertEquals("thirteenbilliontwentysix", number.repr(13000000026))
Beispiel #6
0
 def testRepr(self):
     self.assertEquals("", number.repr(0))
     self.assertEquals("eight", number.repr(8))
     self.assertEquals("thirtynine", number.repr(39))
     self.assertEquals("fourhundredeleven", number.repr(411))
     self.assertEquals("fivethousandtwohundredseven", number.repr(5207))
     self.assertEquals("twohundredfifteenmillionone",
                       number.repr(215000001))
     self.assertEquals("thirteenbilliontwentysix", number.repr(13000000026))
Beispiel #7
0
 def _testListImpl(self, power):
     num = 1000**power
     limit = min(num, 1000)
     listener = number.ListMaker(limit)
     number.traverse("", power, listener)
     if limit == num:
         expected = [number.repr(n) for n in range(num)]
         expected.sort()
         self.assertEquals(expected, listener.seen)
     else:
         # Just check the number we have are in sequence
         self.assertEquals(limit, len(listener.seen))
         for i in range(1, limit):
             self.assertTrue(listener.seen[i - 1] < listener.seen[i])
Beispiel #8
0
 def _testListImpl(self, power):
     num = 1000 ** power
     limit = min(num, 1000)
     listener = number.ListMaker(limit)
     number.traverse("", power, listener)
     if limit == num:
         expected = [number.repr(n) for n in range(num)]
         expected.sort()
         self.assertEquals(expected, listener.seen)
     else:
         # Just check the number we have are in sequence
         self.assertEquals(limit, len(listener.seen))
         for i in range(1, limit):
             self.assertTrue(listener.seen[i-1] < listener.seen[i])
Beispiel #9
0
 def _testFindImpl(self, power, i):
     num = 10**power
     all = [number.repr(n) for n in range(num)]
     all.sort()
     expectedChar = ("".join(all))[i]
     count = 0
     for item in all:
         if i - count >= len(item):
             count = count + len(item)
         else:
             expectedWord = item
             self.assertEqual(expectedChar, item[i - count])
             break
     listener = number.IthCharFinder(i)
     number.traverse("", power, listener)
     self.assertEquals(expectedChar, listener.foundChar)
     self.assertEquals(expectedWord, listener.foundWord)
Beispiel #10
0
 def _testFindImpl(self, power, i):
     num = 10 ** power
     all = [number.repr(n) for n in range(num)]
     all.sort()
     expectedChar = ("".join(all))[i]
     count = 0
     for item in all:
         if i - count >= len(item):
             count = count + len(item)
         else:
             expectedWord = item
             self.assertEqual(expectedChar, item[i - count])
             break
     listener = number.IthCharFinder(i)
     number.traverse("", power, listener)
     self.assertEquals(expectedChar, listener.foundChar)
     self.assertEquals(expectedWord, listener.foundWord)
Beispiel #11
0
 def testConvenienceFuncs(self):
     expected = [number.repr(n) for n in range(10**4)]
     expected.sort()
     self.assertEquals(expected[:100], number.makeList(100))
     char, word, index = number.findIth(999)
     self.assertEquals("".join(expected)[999], char)
Beispiel #12
0
 def testRepr(self):
     self.assertEquals("", number.repr(0))
     self.assertEquals("eight", number.repr(8))
     self.assertEquals("threetennine", number.repr(39))
     self.assertEquals("fourhundredonetenone", number.repr(411))
     self.assertEquals("fivethousandtwohundredseven", number.repr(5207))
Beispiel #13
0
 def testConvenienceFuncs(self):
     expected = [number.repr(n) for n in range(10 ** 4)]
     expected.sort()
     self.assertEquals(expected[:100], number.makeList(100))
     char, word, index = number.findIth(999)
     self.assertEquals("".join(expected)[999], char)
Beispiel #14
0
 def testRepr(self):
     self.assertEquals("", number.repr(0))
     self.assertEquals("eight", number.repr(8))
     self.assertEquals("threetennine", number.repr(39))
     self.assertEquals("fourhundredonetenone", number.repr(411))
     self.assertEquals("fivethousandtwohundredseven", number.repr(5207))