private void InstantiateTank(GameObject tankPrefab, Transform[] spawnPoints) { GameObject newTank = Instantiate(tankPrefab); GameObject newTankStatusBars = Instantiate(tankStatusBarsPrefab); TankController tankController = newTank.GetComponent <TankController>(); ExternalController externalController = newTank.GetComponent <ExternalController>(); UITankStatus tankStatusBars = newTankStatusBars.GetComponent <UITankStatus>(); if (tankController != null && externalController != null && tankStatusBars != null) { int randomIndex = Random.Range(0, spawnPoints.Length); Vector3 randomPosition = spawnPoints[randomIndex].position + new Vector3(Random.Range(-2f, 2f), 0, Random.Range(-2f, 2f)); newTank.transform.position = randomPosition; newTankStatusBars.transform.SetParent(uiCanvas); tankStatusBars.SetTank(tankController, externalController); // disable initially externalController.enabled = false; tanks.Add(newTank); } else { Debug.LogError("Components not found"); } }
public void InvalidUserCredentialsReturnsUnAuthorized() { var userRepository = new Mock <IRepository <InsideUser> >(); var contactRepository = new Mock <IRepository <Contact> >(); var userManager = new Mock <IIdentityMembershipProvider>(); var tokenGenerator = new Mock <IAccessTokenProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var username = "******"; var password = "******"; userManager.Setup(mp => mp.ValidateAndReturnUser(username, password)).Returns(null as InsideUser); var controller = new ExternalController( userRepository.Object, contactRepository.Object, tokenGenerator.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); Assert.IsInstanceOfType(controller.GetAccessToken(username, password), typeof(UnauthorizedResult)); }
public void SetTank(TankController tankController, ExternalController externalController) { this.tankController = tankController; this.externalController = externalController; hitPointSlider.maxValue = tankController.hitPoint.Max; actionPointSlider.maxValue = tankController.actionPoint.Max; }
private ExternalController createController() { var controller = new ExternalController(_userManager, _signInManager, _interaction.Object, _events.Object, _windowsProvider.Object); var url = new Mock <IUrlHelper>(); url.Setup(u => u.IsLocalUrl("http://localhost")).Returns(false); url.Setup(u => u.IsLocalUrl("~/")).Returns(true); url.Setup(u => u.Action(It.IsAny <UrlActionContext>())).Returns("Callback"); controller.Url = url.Object; return(controller); }
public void CheckVictory() { int players = 0; int enemies = 0; foreach (GameObject tank in tanks) { if (!tank.activeInHierarchy) { continue; } if (tank.tag == "Player") { players++; } else if (tank.tag == "Enemy") { enemies++; } } if (players > 0 && enemies > 0) { return; } // disable all ExternalController foreach (GameObject tank in tanks) { ExternalController externalController = tank.GetComponent <ExternalController>(); if (externalController != null) { externalController.enabled = false; } } endTurnButton.enabled = false; gameResultText.gameObject.SetActive(true); if (players == 0) { gameResultText.text = "Enemy Win!"; } else if (enemies == 0) { gameResultText.text = "Player Win!"; } }
public void CanGetAccessToken() { var userRepository = new LocalRepository <InsideUser>(); var contactRepository = new Mock <IRepository <Contact> >(); var userManager = new Mock <IIdentityMembershipProvider>(); var tokenGenerator = new Mock <IAccessTokenProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var username = "******"; var password = "******"; var membershipProviderId = new Guid(); var memebershipUser = new Mock <MembershipUser>(); memebershipUser.Setup(mu => mu.ProviderUserKey).Returns(membershipProviderId); var userInRepository = new InsideUser() { UserId = 1, ClientId = 1, Id = membershipProviderId.ToString() }; userRepository.Add(userInRepository); userManager.Setup(mp => mp.ValidateAndReturnUser(username, password)).Returns(userInRepository); tokenGenerator.Setup(tg => tg.GetToken(It.IsAny <string>())).Returns(new Token() { AccessToken = "TokenGenerated" }); var controller = new ExternalController( userRepository, contactRepository.Object, tokenGenerator.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); var result = controller.GetAccessToken(username, password) as OkNegotiatedContentResult <AcccessTokenForClient>; Assert.AreEqual("TokenGenerated", result.Content.AccessToken); }
public void CanCreate() { var userRepository = new Mock <IRepository <InsideUser> >(); var contactRepository = new Mock <IRepository <Contact> >(); var tokenProvider = new Mock <IAccessTokenProvider>(); var userManager = new Mock <IIdentityMembershipProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var controller = new ExternalController( userRepository.Object, contactRepository.Object, tokenProvider.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); }
public void EndTurn() { GameObject tank = tanks[currentTankIndex]; TankController tankController = tank.GetComponent <TankController>(); if (tank.activeInHierarchy && tankController != null) { tankController.actionPoint.Add(50); } ExternalController externalController = tank.GetComponent <ExternalController>(); if (externalController != null) { externalController.enabled = false; } currentTankIndex = currentTankIndex == tanks.Count - 1 ? 0 : currentTankIndex + 1; SetCurrentTank(); }
private void SetCurrentTank() { GameObject tank = tanks[currentTankIndex]; if (!tank.activeInHierarchy) { EndTurn(); return; } endTurnButton.interactable = tank.tag == "Player"; CameraController.instance.SetTarget(tank.transform); ExternalController externalController = tank.GetComponent <ExternalController>(); if (externalController != null) { externalController.enabled = true; } }
public void BadAccessTokenReturnsNotAutorized() { var userRepository = new LocalRepository <InsideUser>(); var contactRepository = new Mock <IRepository <Contact> >(); var tokenProvider = new Mock <IAccessTokenProvider>(); var userManager = new Mock <IIdentityMembershipProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var controller = new ExternalController( userRepository, contactRepository.Object, tokenProvider.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); InsideUser testUser1 = ModelHelper.TestUser1AllDataNoReferences; InsideUser testUser2 = ModelHelper.TestUser1AllDataNoReferences; testUser1.Role.Add(new InsideRole() { Name = "consultant" }); testUser1.Token.Add(new Token() { AccessToken = "abc123" }); userRepository.Add(testUser1); userRepository.Add(testUser2); var result = controller.GetBudgetSummary("bad acces token"); Assert.IsInstanceOfType(result, typeof(UnauthorizedResult)); }
public void GoodAccessTokenReturnsResult() { var userRepository = new LocalRepository <InsideUser>(); var contactRepository = new Mock <IRepository <Contact> >(); var tokenProvider = new Mock <IAccessTokenProvider>(); var userManager = new Mock <IIdentityMembershipProvider>(); var budgetRepository = new LocalRepository <Budget>(); var clientRepository = new LocalRepository <Client>(); var serverTimeMock = new Mock <IServerTime>(); var controller = new ExternalController( userRepository, contactRepository.Object, tokenProvider.Object, userManager.Object, budgetRepository, clientRepository, serverTimeMock.Object); InsideUser testUser1 = ModelHelper.TestUser1AllDataNoReferences; InsideUser testUser2 = ModelHelper.TestUser1AllDataNoReferences; var client = ModelHelper.TestClient1AllDataNoReferences; client.Labels.Add(new Label() { Name = "Kampanjplaneras" }); client.Consultant = ModelHelper.TestConsultant; var client2 = ModelHelper.TestClient2AllDataNoReferences; client2.Consultant = ModelHelper.TestConsultant; testUser1.Role.Add(new InsideRole() { Name = "consultant" }); testUser1.Token.Add(new Token() { AccessToken = "good acces token" }); userRepository.Add(testUser1); userRepository.Add(testUser2); var jan = new DateTime(2014, 1, 1); var feb = new DateTime(2014, 2, 1); var mars = new DateTime(2014, 3, 1); serverTimeMock.Setup(s => s.RequestStarted).Returns(jan.AddDays(10)); Budget budget1 = new Budget() { Month = feb, Value = 1500 };; Budget budget2 = new Budget() { Month = jan, Value = 2000 }; budget1.Client = client; budget2.Client = client; budgetRepository.Add(budget1); budgetRepository.Add(budget2); clientRepository.Add(client); clientRepository.Add(client2); client.Budgets.Add(budget1); client.Budgets.Add(budget2); Budget budget3 = new Budget() { Month = feb, Value = 1000 }; Budget budget4 = new Budget() { Month = jan, Value = 3000 }; client.Budgets.Add(budget3); client.Budgets.Add(budget4); budget3.Client = client2; budgetRepository.Add(budget4); budgetRepository.Add(budget3); var result = controller.GetBudgetSummary("good acces token") as OkNegotiatedContentResult <BudgetMonthSummary>; Assert.AreEqual(-500, result.Content.diff); Assert.AreEqual(1, result.Content.numClients); Assert.AreEqual(1, result.Content.TotalClients); }
public void SetContactInteractionUpdatesExistingInteraction() { var userRepository = new Mock <IRepository <InsideUser> >(); var contactRepository = new LocalRepository <Contact>(); var userManager = new Mock <IIdentityMembershipProvider>(); var tokenGenerator = new Mock <IAccessTokenProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var accessToken = "AccessToken"; var clientId = 13; var contact = new Contact() { Id = 1, ClientId = clientId }; contactRepository.Add(contact); var interaction1 = new ContactInteraction { Type = "Rating", Value = "Lead" }; contact.Interaction.Add(interaction1); var interaction2 = new Interaction() { Type = "Rating", Value = "Ej Lead" }; tokenGenerator.Setup(tg => tg.Validate(clientId, accessToken)).Returns(true); var controller = new ExternalController( userRepository.Object, contactRepository, tokenGenerator.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); var result = controller.SetContactInteraction(clientId, accessToken, contact.Id, interaction2) as OkNegotiatedContentResult <Contact>; Assert.IsTrue( contactRepository.Where(l => l.Id == l.Id) .First() .Interaction.Any(li => li.Type == "Rating" && li.Value == "Ej Lead")); Assert.IsFalse( contactRepository.Where(l => l.Id == l.Id) .First() .Interaction.Any(li => li.Type == "Rating" && li.Value == "Lead")); }
public void GetContactListReturnsContactsBasedOnPageNumber() { var userRepository = new Mock <IRepository <InsideUser> >(); var contactRepository = new LocalRepository <Contact>(); var userManager = new Mock <IIdentityMembershipProvider>(); var tokenGenerator = new Mock <IAccessTokenProvider>(); var budgetRepositoryMock = new Mock <IRepository <Budget> >(); var clientRepositoryMock = new Mock <IRepository <Client> >(); var serverTimeMock = new Mock <IServerTime>(); var accessToken = "AccessToken"; var insideUser = new InsideUser() { UserId = 1, ClientId = 1, }; var client = new Client() { Id = 1, }; client.InsideUserSets.Add(insideUser); var startDate = new DateTime(2014, 1, 1, 12, 0, 0); for (int i = 1; i <= 23; i++) { var contact = new Contact() { Id = i, ClientId = client.Id, Client = client, Date = startDate.AddHours(-10 * i) }; contactRepository.Add(contact); } tokenGenerator.Setup(tg => tg.Validate((int)insideUser.ClientId, accessToken)).Returns(true); var controller = new ExternalController( userRepository.Object, contactRepository, tokenGenerator.Object, userManager.Object, budgetRepositoryMock.Object, clientRepositoryMock.Object, serverTimeMock.Object); var result = controller.GetContactList((int)insideUser.ClientId, accessToken, 20, 0) as OkNegotiatedContentResult <List <Contact> >; Assert.AreEqual(20, result.Content.Count()); Assert.AreEqual(1, result.Content.ToArray()[0].Id); Assert.AreEqual(10, result.Content.ToArray()[9].Id); var result2 = controller.GetContactList((int)insideUser.ClientId, accessToken, 10, 0) as OkNegotiatedContentResult <List <Contact> >; Assert.AreEqual(10, result2.Content.Count()); Assert.AreEqual(1, result2.Content.ToArray()[0].Id); Assert.AreEqual(10, result2.Content.ToArray()[9].Id); var result3 = controller.GetContactList((int)insideUser.ClientId, accessToken, 10, 5) as OkNegotiatedContentResult <List <Contact> >; Assert.AreEqual(10, result3.Content.Count()); Assert.AreEqual(6, result3.Content.ToArray()[0].Id); Assert.AreEqual(15, result3.Content.ToArray()[9].Id); }