Added new test classes and tests.
Added method tests, switched to using @encode() for method return types.