public void GivenCube_WhenClickedForTheSecondTime_ThenExplosionMovementInitialized() { // Given var movementServiceMock = new Mock <IMovementService>(); var movementService = movementServiceMock.Object; var startingPosition = new Vector3(0, 0, 0); var movementDirection = new Vector3(5, 5, 5); const float movementSpeed = 5f; var quadCubeController = new QuadCubeController(movementService, movementDirection); var cubeController = new CubeController(100, movementService, null, null); // When cubeController.QuadCubeControllers = new[] { quadCubeController }; quadCubeController.MovementSpeed = movementSpeed; quadCubeController.MyGameObjectPosition = startingPosition; cubeController.Click(); cubeController.Click(); // Then movementServiceMock.Verify(x => x.InitializeMovementInGivenDirection(startingPosition, movementDirection, movementSpeed)); }
protected virtual void CreateController() { QuadCubeController = new QuadCubeController(MovementService, MovementDirection); }