public void WhenBubbleIsActive_ThenTheSpeedIsCorrect(float speed, float deltaTime, float expected) { // Arrange var calculator = new BubbleMovementCalculator(_transform, new Transform[] {}, speed); // Act var result = calculator.GetActiveMovementDirection(deltaTime); // Assert Assert.AreEqual(expected, result); }
public void WhenBubbleIsInactiveAndClosestToSecondWayPoint_ThenBubbleMovesTowardsSecondWayPoint() { // Arrange A.CallTo(() => _transform.Position).Returns(new Vector3(16, 0, 0)); var calculator = new BubbleMovementCalculator(_transform, _wayPoints); var initialDistance = Vector3.Distance(_wayPoints[1].position, _transform.Position); // Act var result = calculator.GetInactiveMovementPosition(1f); // Assert var newDistance = Vector3.Distance(_wayPoints[1].position, new Vector3(result.x, result.y, 0f)); Assert.Less(newDistance, initialDistance); }