10.1 Testing your code
The code you write must work in all possible situations for all possible inputs. Therefore, you must devise a test system that assures you that every possibility is covered and the results are correct.
That’s a powerful statement, and you might relax the rules if you are coding something “quick and dirty” to do once or for your own purposes. If you are sharing your code or it will be part of a production environment, testing is essential.
10.1.1 __debug__
By default, the system variable __debug__
is True
. This setting allows you to write code like
from src.code.unipoly import UniPoly
x = UniPoly(1, "x", 1)
def square_poly(p):
if __debug__:
print(f"Argument {p = }\n")
return p*p
square_poly(x**2 - 3*x + 7)
Argument p = x**2 - 3*x + 7
x**4 - 6*x**3 + 23*x**2 - 42*x + 49
Note that I imported UniPoly
from the
specific folder...