Improve tests

- one test function for each signature type
- better code readability
- hopefully better assertion error messages (through code structure)