def test_powers(self): self.assertEqual(tuple(powers(0, 0)), ()) self.assertEqual(tuple(powers(0, -1)), ()) self.assertEqual(tuple(powers(-1, -4)), ()) self.assertEqual(tuple(powers(-2, 17)), (1, -2, 4, -8, 16, -32)) self.assertEqual(tuple(powers(3, 400)), (1, 3, 9, 27, 81, 243)) self.assertEqual(tuple(powers(57, 900000000000000)), (1, 57, 3249, 185193, 10556001, 601692057, 34296447249, 1954897493193, 111429157112001)) self.assertEqual(tuple(powers(6, 666)), (1, 6, 36, 216)) self.assertEqual(tuple(powers(-300, 28000000)), (1, -300, 90000, -27000000))
def listPowers( base, limit ): return [ x for x in powers( base, limit ) ]
def listPowers(base, limit): return [x for x in powers(base, limit)]
def test_powers(self): self.assertEqual(tuple(powers(3,30)), (1,3,9,27)) self.assertEqual(tuple(powers(3,27)), (1,3,9,27)) self.assertEqual(tuple(powers(3,26)), (1,3,9)) self.assertEqual(tuple(powers(4,64)), (1,4,16,64)) self.assertEqual(tuple(powers(10,999)), (1,10,100)) self.assertEqual(tuple(powers(10,1000)), (1,10,100,1000)) self.assertEqual(tuple(powers(5,125)), (1,5,25,125)) self.assertEqual(tuple(powers(5,126)), (1,5,25,125)) self.assertEqual(tuple(powers(2,130)), (1,2,4,8,16,32,64,128)) self.assertEqual(tuple(powers(3,1)), (1,)) self.assertEqual(tuple(powers(3,3)), (1,3)) self.assertEqual(tuple(powers(3,10)), (1,3,9))
def test_powers (self) : # Positive whole base, positive whole limit bigger than base data = [1, 2, 4, 8] generator = [] for x in powers(2, 8) : generator.append(x) self.assertEqual(data, generator) # Positive whole base, positive float limit generator = [] for x in powers(2, 8.77) : generator.append(x) self.assertEqual(data, generator) # Positive float base, positive whole limit data = [1.0, 2.5, 6.25, 15.625] generator = [] for x in powers(2.5, 20) : generator.append(x) self.assertEqual(data, generator) # Positive float base, negative float limit generator = [] for x in powers(2.5, 20.77) : generator.append(x) self.assertEqual(data, generator) # Positive whole base, negative whole limit data = [] generator = [] for x in powers(2, -8) : generator.append(x) self.assertEqual(data, generator) # Positive whole base, negative float limit generator = [] for x in powers(2, -8.5) : generator.append(x) self.assertEqual(data, generator) # Positive float base, negative whole limit generator = [] for x in powers(2.5, -20) : generator.append(x) self.assertEqual(data, generator) # Positive float base, positive float limit generator = [] for x in powers(2.5, -20) : generator.append(x) self.assertEqual(data, generator) # 0 base, 0 limit generator = [] for x in powers(0, 0) : generator.append(x) self.assertEqual(data, generator) # Attempted 0 base, positive limit but it ran in infinite loop as expected # due to the limit constantly increasing by 1 but 0 to anything with a positive # limit results in infinite loop # 0 base, negative limit generator = [] for x in powers(0, -20) : generator.append(x) self.assertEqual(data, generator) # Positve whole base, Large positive whole number limit (2^64 + 1) data = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296, 8589934592, 17179869184, 34359738368, 68719476736, 137438953472, 274877906944, 549755813888, 1099511627776, 2199023255552, 4398046511104, 8796093022208, 17592186044416, 35184372088832, 70368744177664, 140737488355328, 281474976710656, 562949953421312, 1125899906842624, 2251799813685248, 4503599627370496, 9007199254740992, 18014398509481984, 36028797018963968, 72057594037927936, 144115188075855872, 288230376151711744, 576460752303423488, 1152921504606846976, 2305843009213693952, 4611686018427387904, 9223372036854775808, 18446744073709551616] generator = [] for x in powers(2, 18446744073709551617) : generator.append(x) self.assertEqual(data, generator)
def test_powers(self): self.assertEqual(tuple(powers(3, 30)), (1, 3, 9, 27)) self.assertEqual(tuple(powers(3, 27)), (1, 3, 9, 27)) self.assertEqual(tuple(powers(3, 26)), (1, 3, 9)) self.assertEqual(tuple(powers(4, 64)), (1, 4, 16, 64)) self.assertEqual(tuple(powers(10, 999)), (1, 10, 100)) self.assertEqual(tuple(powers(10, 1000)), (1, 10, 100, 1000)) self.assertEqual(tuple(powers(5, 125)), (1, 5, 25, 125)) self.assertEqual(tuple(powers(5, 126)), (1, 5, 25, 125)) self.assertEqual(tuple(powers(2, 130)), (1, 2, 4, 8, 16, 32, 64, 128)) self.assertEqual(tuple(powers(3, 1)), (1, )) self.assertEqual(tuple(powers(3, 3)), (1, 3)) self.assertEqual(tuple(powers(3, 10)), (1, 3, 9))