Testing Undefined
ΒΆ
Now that we have a complete version, we are in a position to try the tests. Recall when we added the docstring we had:
>> ConditionalExpression[a, False]
= Undefined
>> Attributes[Undefined]
= {Protected}
The lines that start with >>
are examples to show and that can be tried. The lines that start with =
are the expected output.
See Documentation Markup for a full list and description of the homegrown markup.
Understanding the markup, we can enter that in a mathics session to verify that we get expected results:
$ mathics
Mathics3 5.0.3dev0
on CPython 3.8.12 (heads/v2.3.4.1_release:4a6b4d3504, Jun 3 2022, 15:46:12)
...
In[1]:= ConditionalExpression[a, False]
Out[1]= Undefined
In[2]:= Attributes[Undefined]
Out[2]= {Protected}
So far so good. However we can run all of these example automatically without having to retype them as we did above. Here is a command that will do that:
$ cd Mathics3/mathics-core
$ python mathics/docpipeline.py -s Undefined
Testing section(s): Undefined
Testing section: Integer and Number-Theoretical Functions / Undefined
b' 1 ( 0): TEST ConditionalExpression[a, False]'
b' 2 ( 0): TEST Attributes[Undefined]'
All tests passed.
The -s
option limits the testing just to this new section we added
called Undefined
. Another useful option that is often used is
-x
. That option modeled after the -x
option in pytest: it
stops on the first error.
Next: