Updates the testing infrastructure to use the latest relesae of junit and
leverages the new extension mechanism to create an easy to use testing
framework. Also adds additional test coverage for several plugins.
Adds custom coroutines specifically for use within Actions. This
implements all features of the previous system, however, does not rely
on a separate executor to wake up continuations.
Note: since Actions are still ran by an executor and a small chance of
overlap exists the ActionCoroutine implementation uses atomic counters
and references.
Adds tests for the CollisionManager which makes sure that collision
matrices are correctly built for the following object types:
* Interactables
* Walls
* Corners
Missing from these tests are tests for blocked / bridged tiles, and
large corner walls, which can be added later. Additionally, the test
cases include ASCII illustrations of the collision grid and how it is
built / checked for a particular object or movement.
Add various tests around ItemOnObject messages to verify that a valid
object needs to be given as well as a valid item in order for the
message to be passed down the MessageHandlerChain.
Add a test which verifies an ObjectActionMessage is terminated if its
not within the specified distance of the player.
Additionally add a test which verifies that an ObjectActionMessage is
terminated if there is no object with the given id nearby.