Script: s1.py
import numpy as np
import doctest
def factorial(n):
"""
Test for the factorial of 3 that should pass.
>>> factorial(3)
6
Test for the factorial of 0 that should fail.
>>> factorial(0)
1
"""
return np.arange(1, n+1).cumprod()[-1]
doctest.testmod()
OUTPUT:
(base) CMD>python s1.py
**********************************************************************
File "s1.py", line 11, in __main__.factorial
Failed example:
factorial(0)
Exception raised:
Traceback (most recent call last):
File "E:\programfiles\Anaconda3\lib\doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest __main__.factorial[1]>", line 1, in <module>
factorial(0)
File "s1.py", line 14, in factorial
return np.arange(1, n+1).cumprod()[-1]
IndexError: index -1 is out of bounds for axis 0 with size 0
**********************************************************************
1 items had failures:
1 of 2 in __main__.factorial
***Test Failed*** 1 failures.
(base) CMD>python s1.py -v
Trying:
factorial(3)
Expecting:
6
ok
Trying:
factorial(0)
Expecting:
1
**********************************************************************
File "s1.py", line 11, in __main__.factorial
Failed example:
factorial(0)
Exception raised:
Traceback (most recent call last):
File "E:\programfiles\Anaconda3\lib\doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest __main__.factorial[1]>", line 1, in <module>
factorial(0)
File "s1.py", line 14, in factorial
return np.arange(1, n+1).cumprod()[-1]
IndexError: index -1 is out of bounds for axis 0 with size 0
1 items had no tests:
__main__
**********************************************************************
1 items had failures:
1 of 2 in __main__.factorial
2 tests in 2 items.
1 passed and 1 failed.
***Test Failed*** 1 failures.
Code with two functions
import numpy as np
import doctest
def factorial(n):
"""
Test for the factorial of 3 that should pass.
>>> factorial(3)
6
Test for the factorial of 0 that should fail.
>>> factorial(0)
1
"""
return np.arange(1, n+1).cumprod()[-1]
def isEven(n):
"""
Test that would pass
>>> isEven(10)
True
Test that would fail
>>> isEven(9)
True
Test that would pass
>>> isEven(9)
False
"""
rtn = n % 2
return rtn == 0
doctest.testmod()
Output
(base) CMD>python script.py
**********************************************************************
File "script.py", line 11, in __main__.factorial
Failed example:
factorial(0)
Exception raised:
Traceback (most recent call last):
File "E:\programfiles\Anaconda3\lib\doctest.py", line 1329, in __run
compileflags, 1), test.globs)
File "<doctest __main__.factorial[1]>", line 1, in <module>
factorial(0)
File "script.py", line 14, in factorial
return np.arange(1, n+1).cumprod()[-1]
IndexError: index -1 is out of bounds for axis 0 with size 0
**********************************************************************
File "script.py", line 24, in __main__.isEven
Failed example:
isEven(9)
Expected:
True
Got:
False
**********************************************************************
2 items had failures:
1 of 2 in __main__.factorial
1 of 3 in __main__.isEven
***Test Failed*** 2 failures.
Pages
- Index of Lessons in Technology
- Index of Book Summaries
- Index of Book Lists And Downloads
- Index For Job Interviews Preparation
- Index of "Algorithms: Design and Analysis"
- Python Course (Index)
- Data Analytics Course (Index)
- Index of Machine Learning
- Postings Index
- Index of BITS WILP Exam Papers and Content
- Lessons in Investing
- Index of Math Lessons
- Index of Management Lessons
- Book Requests
- Index of English Lessons
- Index of Medicines
- Index of Quizzes (Educational)
Tuesday, September 7, 2021
Factorial, NumPy and DocTest
Labels:
Machine Learning,
NumPy,
Python,
Technology
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment