public void RequestPlayerDisconnection(DestinationController _destinationController)
 {
     _destinationController.DestroyDestinationController();
     AssetBundle.UnloadAllAssetBundles(true);
     ClientNetworkController.CloseMultiplayerBase();
     Application.Quit();
 }
Пример #2
0
    public void OnTriggerEnter(Collider other)
    {
        Debug.Log(other);
        if (other.gameObject.CompareTag("Pizza"))
        {
            PizzaController pizza = other.GetComponent <PizzaController>();
            destination = pizza.destination;
            destination.gameObject.SetActive(true);
            Destroy(pizza.gameObject);
            return;
        }

        if (destination != null && other.gameObject == destination.gameObject)
        {
            destination = null;
            other.gameObject.SetActive(false);
            score++;
            pizzeria.MakeAPizza();
        }

        if (other.gameObject.CompareTag("Road"))
        {
            RoadController road = other.GetComponent <RoadController>();
            if (road)
            {
                location = road.Location;
            }
        }
    }
Пример #3
0
        public void All_When_Page_Id_Provided()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>(MockBehavior.Strict);
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);
            var controller             = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object);

            var pageId        = 5;
            var serviceResult = new PagedDestinationListingServiceModel();

            destinationServiceMock.Setup(s => s.AllDestinationsAsync(pageId, null)).ReturnsAsync(serviceResult);

            // act
            var result = controller.All(pageId).Result;

            // assert
            Assert.IsAssignableFrom <ViewResult>(result);
            var model = (result as ViewResult)?.Model;

            Assert.True(model != null);
            Assert.IsAssignableFrom <PagedDestinationListingServiceModel>(model);
            Assert.True(model as PagedDestinationListingServiceModel == serviceResult);
            destinationServiceMock.VerifyAll();
            tagServiceMock.VerifyAll();
        }
Пример #4
0
        public async void BulkInsert_No_Errors()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            var mockResponse = new CreateResponse <ApiDestinationResponseModel>(new FluentValidation.Results.ValidationResult());

            mockResponse.SetRecord(new ApiDestinationResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiDestinationRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiDestinationResponseModel> >(mockResponse));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiDestinationRequestModel>();

            records.Add(new ApiDestinationRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var result = (response as OkObjectResult).Value as List <ApiDestinationResponseModel>;

            result.Should().NotBeEmpty();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiDestinationRequestModel>()));
        }
Пример #5
0
        public async void Patch_No_Errors()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiDestinationResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(true);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiDestinationRequestModel>()))
            .Callback <int, ApiDestinationRequestModel>(
                (id, model) => model.CountryId.Should().Be(1)
                )
            .Returns(Task.FromResult <UpdateResponse <ApiDestinationResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiDestinationResponseModel>(new ApiDestinationResponseModel()));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiDestinationModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiDestinationRequestModel>();

            patch.Replace(x => x.CountryId, 1);

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            mock.ServiceMock.Verify(x => x.Update(It.IsAny <int>(), It.IsAny <ApiDestinationRequestModel>()));
        }
Пример #6
0
        public void Details_When_No_Destination_Found()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>(MockBehavior.Strict);
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);

            var tempDataMock = new Mock <ITempDataDictionary>();
            var controller   = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object)
            {
                TempData = tempDataMock.Object
            };

            int id = 1;

            destinationServiceMock.Setup(s => s.GetByIdAsync(id)).ReturnsAsync((DestinationDetailsServiceModel)null);

            // act
            var result = controller.Details(id);

            // assert
            Assert.IsAssignableFrom <RedirectToActionResult>(result.Result);
            var actionName = (result.Result as RedirectToActionResult)?.ActionName;

            Assert.True(actionName != null && actionName.Equals(nameof(DestinationController.All), StringComparison.CurrentCultureIgnoreCase));
            destinationServiceMock.VerifyAll();
        }
Пример #7
0
        protected void AddOrDeletePlayerToTheCapturing(DestinationController _playerDestinationComponent,
                                                       bool _isCapturing)
        {
            bool exists;

            if (!ReferenceEquals(_playerDestinationComponent, null))
            {
                if (_isCapturing)
                {
                    exists = PlayersCaptureTimeTable.ContainsKey(_playerDestinationComponent);
                    if (!exists)
                    {
                        PlayersCaptureTimeTable.Add(_playerDestinationComponent, 0d);
                    }
                }
                else
                {
                    exists = PlayersCaptureTimeTable.ContainsKey(_playerDestinationComponent);
                    if (exists)
                    {
                        PlayersCaptureTimeTable.Remove(_playerDestinationComponent);
                    }
                }
            }
            else
            {
                Debug.LogWarning("Can't add or remove a null destination controller");
            }
        }
Пример #8
0
        public void RemoveTag_When_ModelState_Invalid()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>(MockBehavior.Strict);
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);

            var tempDataMock = new Mock <ITempDataDictionary>();
            var controller   = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object)
            {
                TempData = tempDataMock.Object
            };

            int destinationId = 1;
            int tagId         = 2;
            var model         = new RemoveTagRequestModel {
                DestinationId = destinationId, TagId = tagId
            };

            destinationServiceMock.Setup(s => s.ExistsAsync(destinationId)).ReturnsAsync(true);
            tagServiceMock.Setup(s => s.ExistsAsync(tagId)).ReturnsAsync(true);

            controller.ModelState.AddModelError(string.Empty, "Some error");

            // act
            var result = controller.RemoveTag(model);

            // assert
            Assert.IsAssignableFrom <RedirectToActionResult>(result.Result);
            var actionName = (result.Result as RedirectToActionResult)?.ActionName;

            Assert.True(actionName != null && actionName.Equals(nameof(DestinationController.All), StringComparison.CurrentCultureIgnoreCase));
            destinationServiceMock.VerifyAll();
            tagServiceMock.VerifyAll();
        }
Пример #9
0
 private void cmbDestinationTable_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cmbDestinationTable.SelectedIndex != -1)
     {
         dgvDestination.DataSource = null;
         DestinationFields         = DestinationController.GetFields(cmbDestinationTable.SelectedItem.ToString());
         dgvDestination.DataSource = GetFieldsDataTable(DestinationFields);
     }
 }
Пример #10
0
    protected virtual void Start()
    {
        navAgent = GetComponent <NavMeshAgent>();
        destinationController = GetComponent <DestinationController>();
        navAgent.SetDestination(destinationController.GetDestination());
        animator = GetComponent <Animator>();
        GameObject player = GameObject.FindGameObjectWithTag("Player");

        targetPos = player.transform;
    }
Пример #11
0
        public async void Get_Not_Exists()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiDestinationResponseModel>(null));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
Пример #12
0
        public void Implements_Has_Authorized()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>();
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);
            var controller             = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object);

            // act
            var hasAuthorizedAttribute = controller
                                         .GetType()
                                         .GetCustomAttributes(typeof(AuthorizeAttribute), true)
                                         .Any();

            // assert
            Assert.True(hasAuthorizedAttribute);
        }
Пример #13
0
        //This method checks if the player is capturing the tower and updates this object internal structures
        public void CheckForCapture(DestinationController _playerDestinationComponent, bool _isCapturing)
        {
            if (!ReferenceEquals(_playerDestinationComponent, null))
            {
                var playerNetId = _playerDestinationComponent.networkObject.NetworkId;
                AddOrDeletePlayerToTheCapturing(_playerDestinationComponent, _isCapturing);

                //Keep updated also the network entities of this object
                networkObject.SendRpc(RPC_UPDATE_CAPTURE_ON_NETWORK,
                                      Receivers.AllBuffered,
                                      playerNetId,
                                      _isCapturing);
            }
            else
            {
                Debug.LogWarning("Can't check the capture status of a null destination controller");
            }
        }
Пример #14
0
        public async void Delete_Errors()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(int));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <int>()));
        }
Пример #15
0
        public async void Update_NotFound()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiDestinationResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiDestinationRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiDestinationResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiDestinationResponseModel>(null));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiDestinationModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Update(default(int), new ApiDestinationRequestModel());

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async void Get_Exists()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new ApiDestinationServerResponseModel()));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var record = (response as OkObjectResult).Value as ApiDestinationServerResponseModel;

            record.Should().NotBeNull();
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
Пример #17
0
        public async void All_Not_Exists()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ApiDestinationResponseModel> >(new List <ApiDestinationResponseModel>()));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiDestinationResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
Пример #18
0
        public async void Patch_Record_Not_Found()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiDestinationResponseModel>(null));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiDestinationRequestModel>();

            patch.Replace(x => x.CountryId, 1);

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async void Create_No_Errors()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            var mockResponse = ValidationResponseFactory <ApiDestinationServerResponseModel> .CreateResponse(null as ApiDestinationServerResponseModel);

            mockResponse.SetRecord(new ApiDestinationServerResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiDestinationServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiDestinationServerResponseModel> >(mockResponse));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Create(new ApiDestinationServerRequestModel());

            response.Should().BeOfType <CreatedResult>();
            (response as CreatedResult).StatusCode.Should().Be((int)HttpStatusCode.Created);
            var createResponse = (response as CreatedResult).Value as CreateResponse <ApiDestinationServerResponseModel>;

            createResponse.Record.Should().NotBeNull();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiDestinationServerRequestModel>()));
        }
        public async void BulkInsert_Errors()
        {
            DestinationControllerMockFacade mock = new DestinationControllerMockFacade();

            var mockResponse = new Mock <CreateResponse <ApiDestinationServerResponseModel> >(null as ApiDestinationServerResponseModel);

            mockResponse.SetupGet(x => x.Success).Returns(false);

            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiDestinationServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiDestinationServerResponseModel> >(mockResponse.Object));
            DestinationController controller = new DestinationController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiDestinationServerRequestModel>();

            records.Add(new ApiDestinationServerRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiDestinationServerRequestModel>()));
        }
Пример #21
0
        public void RemoveTag_On_Success()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>(MockBehavior.Strict);
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);

            var tempDataMock = new Mock <ITempDataDictionary>();
            var controller   = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object)
            {
                TempData = tempDataMock.Object
            };

            int destinationId = 1;
            int tagId         = 2;
            var model         = new RemoveTagRequestModel {
                DestinationId = destinationId, TagId = tagId
            };

            destinationServiceMock.Setup(s => s.ExistsAsync(destinationId)).ReturnsAsync(true);
            destinationServiceMock.Setup(s => s.RemoveTagAsync(destinationId, tagId)).ReturnsAsync(true);
            tagServiceMock.Setup(s => s.ExistsAsync(tagId)).ReturnsAsync(true);

            // act
            var result = controller.RemoveTag(model);

            // assert
            Assert.IsAssignableFrom <RedirectToActionResult>(result.Result);
            var castedResult = result.Result as RedirectToActionResult;
            var actionName   = castedResult?.ActionName;

            Assert.True(actionName != null && actionName.Equals(nameof(DestinationController.Details), StringComparison.CurrentCultureIgnoreCase));
            Assert.True(castedResult.RouteValues.Count == 1);
            Assert.True(castedResult.RouteValues.ContainsKey("id"));
            Assert.True(Convert.ToInt32(castedResult.RouteValues["id"]) == destinationId);
            destinationServiceMock.VerifyAll();
            tagServiceMock.VerifyAll();
        }
Пример #22
0
        public void Details_When_Destination_Found()
        {
            // arrange
            var destinationServiceMock = new Mock <IDestinationService>(MockBehavior.Strict);
            var tagServiceMock         = new Mock <ITagService>(MockBehavior.Strict);
            var controller             = new DestinationController(destinationServiceMock.Object, tagServiceMock.Object);

            int id            = 1;
            var serviceResult = new DestinationDetailsServiceModel();

            destinationServiceMock.Setup(s => s.GetByIdAsync(id)).ReturnsAsync(serviceResult);

            // act
            var result = controller.Details(id);

            // assert
            Assert.IsAssignableFrom <ViewResult>(result.Result);
            var model = (result.Result as ViewResult)?.Model;

            Assert.True(model != null);
            Assert.IsAssignableFrom <DestinationDetailsServiceModel>(model);
            Assert.True((DestinationDetailsServiceModel)model == serviceResult);
            destinationServiceMock.VerifyAll();
        }
Пример #23
0
 public double TimeISpentForCapturingThisTower(DestinationController _destinationController)
 {
     return(PlayersCaptureTimeTable[_destinationController]);
 }
Пример #24
0
 public void InitPlayerUI(AvatorController _avatorControllerReference)
 {
     DestinationController = _avatorControllerReference.DestinationControllerReference;
 }
Пример #25
0
 // Start is called before the first frame update
 void Start()
 {
     navAgent = GetComponent <NavMeshAgent>();
     destinationController = GetComponent <DestinationController>();
     navAgent.SetDestination(destinationController.GetDestination());
 }
Пример #26
0
 private void Awake()
 {
     DestinationController = GetComponent <DestinationController>();
     canStartUpdate        = false;
 }