Add set testing

This PR adds set testing.

Targets #181
you could use the signum macro instead of the if construct