updated contents from Atlas repo
This commit is contained in:
82
decorators/clockdeco_tests.py
Normal file
82
decorators/clockdeco_tests.py
Normal file
@@ -0,0 +1,82 @@
|
||||
"""
|
||||
>>> f_empty()
|
||||
[0.0...s] f_empty() -> None
|
||||
>>> f_args('spam', 3)
|
||||
[0.0...s] f_args('spam', 3) -> 'spamspamspam'
|
||||
'spamspamspam'
|
||||
>>> snooze(1234)
|
||||
[1...s] snooze(1234) -> None
|
||||
>>> average(1, 2, 3)
|
||||
[0.0...s] average(1, 2, 3) -> 2.0
|
||||
2.0
|
||||
>>> average(*range(10**3))
|
||||
[0.0...s] average(0, 1, ..., 999) -> 499.5
|
||||
499.5
|
||||
>>> factorial(10)
|
||||
[0.000...s] factorial(1) -> 1
|
||||
[0.000...s] factorial(2) -> 2
|
||||
[0.000...s] factorial(3) -> 6
|
||||
[0.000...s] factorial(4) -> 24
|
||||
[0.000...s] factorial(5) -> 120
|
||||
[0.000...s] factorial(6) -> 720
|
||||
[0.000...s] factorial(7) -> 5040
|
||||
[0.000...s] factorial(8) -> 40320
|
||||
[0.000...s] factorial(9) -> 362880
|
||||
[0.000...s] factorial(10) -> 3628800
|
||||
3628800
|
||||
>>> fibonacci(1)
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
1
|
||||
>>> fibonacci(5)
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
[0.000...s] fibonacci(0) -> 0
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
[0.000...s] fibonacci(2) -> 1
|
||||
[0.000...s] fibonacci(3) -> 2
|
||||
[0.000...s] fibonacci(0) -> 0
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
[0.000...s] fibonacci(2) -> 1
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
[0.000...s] fibonacci(0) -> 0
|
||||
[0.000...s] fibonacci(1) -> 1
|
||||
[0.000...s] fibonacci(2) -> 1
|
||||
[0.000...s] fibonacci(3) -> 2
|
||||
[0.000...s] fibonacci(4) -> 3
|
||||
[0.000...s] fibonacci(5) -> 5
|
||||
5
|
||||
>>> f_args.__name__
|
||||
'clocked'
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
from clockdeco import clock
|
||||
|
||||
@clock
|
||||
def f_empty():
|
||||
pass
|
||||
|
||||
@clock
|
||||
def f_args(a, b):
|
||||
return a*b
|
||||
|
||||
@clock
|
||||
def snooze(milis):
|
||||
time.sleep(milis/1000)
|
||||
|
||||
@clock
|
||||
def average(*args):
|
||||
return sum(args) / len(args)
|
||||
|
||||
@clock
|
||||
def factorial(n):
|
||||
return 1 if n < 2 else n*factorial(n-1)
|
||||
|
||||
@clock
|
||||
def fibonacci(n):
|
||||
if n < 2:
|
||||
return n
|
||||
return fibonacci(n-2) + fibonacci(n-1)
|
||||
|
||||
import doctest
|
||||
doctest.testmod(optionflags=doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE)
|
||||
Reference in New Issue
Block a user