The acceptance criteria here is very simple: Every single class / function exposed to the Python world should either have a Python test or a demo associated with it.
The point of this exercise is to avoid runtime errors. In the Python interface, there is a lot of freedom allowed, which means that errors in the interface only occur at runtime. This should not be the user, but a suitable test system.
Also, the tests are sometimes heavy in copy&paste and awkward due to my lack of Python skills. That could be certainly improved.
Diff: