Documentation and unit tests for the Hodge diamond cutter
The functionality outlined below, and much more, is implemented in Hodge diamond cutter, which can be used in Sage. If you use it for your research, please cite it using .
It was a tedious task, but the Hodge diamond cutter now has
- online documentation (check it out!)
- documentation as a pdf
- unit tests
Using the library
It's enough to have the file diamond.py
(pay attention to the file extension) somewhere where Sage can find it via load("diamond.py")
and then you are good to go.
Unit tests
Having unit tests is very convenient to test regressions, and to showcase the functionality. Almost every method and construction now has (multiple) examples showcasing how to use it, and the library in general.
By typing sage -t diamond.py
Sage automatically executes all the code in the examples section in the documentation, and reports (as of today) that
Doctesting 1 file.
sage -t --random-seed=0 diamond.py
[194 tests, 5.49 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 5.6 seconds
cpu time: 5.5 seconds
cumulative wall time: 5.5 seconds
Thanks to Alex Best and Jieao Song for pull requests, fixing things and significantly improving the efficiency!