public void When_it_has_no_body_is_an_error() { var noCollidableBodies = new NoCollidableBodies(); var spyPresenter = new SpyPresenter(); var system = CollidableMovementSystem .WithCollidableBodiesAndPresenter( noCollidableBodies, spyPresenter); var player = new Guid("8e7eaa84-f471-42ca-91ff-0eafe4cc5af3"); var destination = new Vector3(3.0f, 0.0f, 3.0f); system.MoveEntityTowardsDestination( player, destination); Assert.IsTrue(spyPresenter.ReportedError); }
public void Moves_it_as_far_as_possible_in_one_tick() { var noCollisions = new NoCollisions(); var spyPresenter = new SpyPresenter(); var system = CollidableMovementSystem .WithCollidableBodiesAndPresenter( noCollisions, spyPresenter); var player = noCollisions.Player; var destination = new Vector3(2.0f, 0.0f, 2.0f); system.MoveEntityTowardsDestination( player, destination); Assert.IsFalse(spyPresenter.ReportedError); Assert.AreEqual( destination, spyPresenter.EndingLocation); }
public void Moves_it_to_the_adjusted_collision_location_in_one_tick() { var alwaysCollisions = new AlwaysCollisions(); var spyPresenter = new SpyPresenter(); var system = CollidableMovementSystem .WithCollidableBodiesAndPresenter( alwaysCollisions, spyPresenter); var player = alwaysCollisions.Player; var destination = new Vector3(5.0f, 0.0f, 5.0f); var expectedEndingLocation = alwaysCollisions.AdjustedCollisionLocation; system.MoveEntityTowardsDestination( player, destination); Assert.IsFalse(spyPresenter.ReportedError); Assert.AreEqual( expectedEndingLocation, spyPresenter.EndingLocation); }