This PR introduces a testsuite which runs in Unity. Right now it just spawns in a circle, eats some food and verifies the decay logic is working correctly. I've also written some reconnection tests but they don't work because reconnections are currently broken. There are also one-off tests but those don't work either because they also require reconnections to be working.
I've used the built-in unity testsuite framework to achieve this, along with the UnityCI tool from GameCI. The documentation for this docker container can be found here: https://game.ci/docs/github/getting-started/
API
[ ] This is an API breaking change to the SDK
If the API is breaking, please state below what will break
Not breaking
Requires SpacetimeDB PRs
List any PRs here that are required for this SDK change to work
Please do not rebase this PR
Description of Changes
Describe what has been changed, any new features or bug fixes
This is very similar to https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/176 except it imports the circle game as a submodule instead of copying the code over into this repo. This is the SpacetimeDBCircleGame PR that we're dependent on right now: https://github.com/clockworklabs/SpacetimeDBCircleGame/pull/3
Update: reconnections have been fixed via https://github.com/clockworklabs/com.clockworklabs.spacetimedbsdk/pull/168.
I've used the built-in unity testsuite framework to achieve this, along with the UnityCI tool from GameCI. The documentation for this docker container can be found here: https://game.ci/docs/github/getting-started/
API
If the API is breaking, please state below what will break
Not breaking
Requires SpacetimeDB PRs
List any PRs here that are required for this SDK change to work
None
Testsuite
SpacetimeDB branch name: 0935b7346b825b8cbb9f36d9ed256136b73b5f0b
Testing
Write instructions for a test that you performed for this PR
You can follow test instructions here to double check my work: https://github.com/clockworklabs/SpacetimeDBCircleGame/pull/3
Follow-up Actions