added env tests for doc test runner

This commit is contained in:
Ekaterina Tuzova
2011-05-16 11:53:37 +04:00
parent 2224fae95d
commit 1c6bf58d58
2 changed files with 78 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
def factorial(n):
"""Return the factorial of n, an exact integer >= 0.
If the result is small enough to fit in an int, return an int.
Else return a long.
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
"""
import math
if not n >= 0:
raise ValueError("n must be >= 0")
if math.floor(n) != n:
raise ValueError("n must be exact integer")
if n+1 == n: # catch a value like 1e300
raise OverflowError("n too large")
result = 1
factor = 2
while factor <= n:
result *= factor
factor += 1
return result
class FirstGoodTest:
"""
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
"""
def test_passes(self):
pass
class SecondGoodTest:
def test_passes(self):
"""
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
"""
pass

View File

@@ -0,0 +1,39 @@
def factorial(n):
"""Return the factorial of n, an exact integer >= 0.
If the result is small enough to fit in an int, return an int.
Else return a long.
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
"""
import math
if not n >= 0:
raise ValueError("n must be >= 0")
if math.floor(n) != n:
raise ValueError("n must be exact integer")
if n+1 == n: # catch a value like 1e300
raise OverflowError("n too large")
result = 1
factor = 2
while factor <= n:
result *= factor
factor += 1
return result
class FirstGoodTest:
"""
>>> [factorial(n) for n in range(6)]
[1, 1]
"""
def test_passes(self):
pass
class SecondGoodTest:
def test_passes(self):
"""
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6]
"""
pass