Added and updated tests, ran php-cs-fixer on src/ and tests/ still having a few issues with signatures, tests should help find the issues