Full test suite

This should cover it. Fixed some issues with negative numbers & decimal step values in the process.