Updated with more tests and made tests modular

What's with the `@`s? Are you doing some sort of deformed JSDoc?