public void CallGetAimsCount_FromAimService_WhenValidParametersArePassed() { // Arrange string searchWord = "some searching word"; var categoriesChosen = new int[] { 1, 16 }; var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); ExploreSubmitViewModel submitModel = new ExploreSubmitViewModel() { SearchWord = searchWord, ChosenCategoriesIds = categoriesChosen }; mockedAimService .Setup(x => x.GetAimsCount(searchWord, categoriesChosen)) .Verifiable(); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.ExploreAims(submitModel, null); // Assert mockedAimService .Verify(x => x.GetAimsCount(searchWord, categoriesChosen), Times.Once); }
public void CallMapper_WhenFillingTheViewModel() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); var resultAims = new List <Aim>(); mockedMapper.Setup(x => x.Map <IEnumerable <AimViewModel> >(resultAims)).Verifiable(); mockedAimService .Setup(x => x.ExploreAims(It.IsAny <string>(), It.IsAny <IEnumerable <int> >(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(resultAims); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.ExploreAims(new ExploreSubmitViewModel(), null); // Assert mockedMapper .Verify(x => x.Map <IEnumerable <AimViewModel> >(resultAims), Times.Once); }
public void Init(ExploreController controller) { this.controller = controller; transform.localScale = Vector3.one * 0.3f; stage1(); ContinueTutorial(); }
private void setExploreUI(bool won, ExploreController controller, bool wonByAction, bool catPrompt, ushort rating, bool hasWonBefore) { gameObject.SetActive(true); gameObject.transform.localScale = Vector3.zero; LeanTween.scale(gameObject, Vector3.one, 0.4f).setEaseInQuad(); uint silver = MathUtils.AdjustedSilver (controller.stage.silver, ExploreController.level > -1 ? GameControl.control.getWorldLevelPlays(ExploreController.world, ExploreController.level) : 0, rating); if (won) { titleText.text = "Victory!"; if (silver > 0) { getReward().initsilver(silver); } if (controller.stage.gold > 0 && !hasWonBefore) { getReward().initgold(controller.stage.gold); } Debug.Log("initing cat award.. has won level before? " + hasWonBefore); if (controller.stage.rewardCat != CatType.none && !hasWonBefore && ((wonByAction && UnityEngine.Random.value > 0.25f) || catPrompt || UnityEngine.Random.value > 1.05f - (rating * 0.1f))) { getReward().initcat(controller.stage.rewardCat); } GameControl.control.getSoundManager().playOneShot(victory, 1); } else { titleText.text = getDefeat() + getLoss(silver, controller); GameControl.control.getSoundManager().playOneShot(defeat, 1); } }
private void setRewardPrompt(ExploreController controller, bool wonByAction, ushort rating, bool hasWon) { GameControl.control.getSoundManager().playExploreButton(); if (controller.stage.rewardPrompt.rewards.Length == 1) { GameControl.control.YesNoPrompt("<font=\"pixelfont\">" + controller.stage.rewardPrompt.prompt, transform.root, () => { controller.stage.rewardCat = controller.stage.rewardPrompt.rewards[0]; setExploreUI(true, controller, wonByAction, true, rating, hasWon); }, () => { setExploreUI(true, controller, wonByAction, false, rating, hasWon); }); } else { UnityAction[] listeners = new UnityAction[controller.stage.rewardPrompt.rewards.Length]; string[] labels = new string[controller.stage.rewardPrompt.rewards.Length]; for (int i = 0; i < controller.stage.rewardPrompt.rewards.Length; i++) { CatType rewardCat = controller.stage.rewardPrompt.rewards[i]; listeners[i] = () => { controller.stage.rewardCat = rewardCat; setExploreUI(true, controller, wonByAction, true, rating, hasWon); }; labels[i] = new Cat(rewardCat).Name; } GameControl.control.MultiplePrompt("<font=\"pixelfont\">" + controller.stage.rewardPrompt.prompt, transform.root, listeners, labels, () => { setExploreUI(true, controller, wonByAction, false, rating, hasWon); Debug.Log("ADDD"); }); } }
public void CallExploreAimsWithDefaultPage_WhenPageParameterIsNull() { // Arrange string searchWord = "word"; string sortBy = "name"; var categoriesChosen = new int[] { 4, 2 }; // it is a constant int aimsPerPage = 5; var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); ExploreSubmitViewModel submitModel = new ExploreSubmitViewModel() { SearchWord = searchWord, SortBy = sortBy, ChosenCategoriesIds = categoriesChosen }; mockedAimService .Setup(x => x.ExploreAims(searchWord, categoriesChosen, sortBy, 1, aimsPerPage)) .Verifiable(); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.ExploreAims(submitModel, null); // Assert mockedAimService .Verify(x => x.ExploreAims(searchWord, categoriesChosen, sortBy, 1, aimsPerPage), Times.Once); }
public void CallExploreAims_FromAimService_WithCorrectParameter() { // Arrange string searchWord = "search"; string sortBy = "sort"; var categoriesChosen = new int[] { 1, 2 }; int page = 3; // it is a constant int aimsPerPage = 5; var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); ExploreSubmitViewModel submitModel = new ExploreSubmitViewModel() { SearchWord = searchWord, SortBy = sortBy, ChosenCategoriesIds = categoriesChosen }; mockedAimService .Setup(x => x.ExploreAims(searchWord, categoriesChosen, sortBy, page, aimsPerPage)) .Verifiable(); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.ExploreAims(submitModel, page); // Assert mockedAimService .Verify(x => x.ExploreAims(searchWord, categoriesChosen, sortBy, page, aimsPerPage), Times.Once); }
public void init(Action onComplete, ExploreController controller, GameObject cat) { //fade in, 0.3f fadeInOut(0.8f, () => { StartCoroutine(credits(onComplete, controller, cat)); }, false); }
private void Awake() { instance = this; arcade = MenuAlfa.instance != null ? MenuAlfa.instance.isArcade : arcade; if (MenuAlfa.instance != null) { Destroy(MenuAlfa.instance.gameObject); } }
public void Index_TestIndexView_ViewResult() { //Arrange ExploreController controller = new ExploreController(); //Act ViewResult result = controller.Index() as ViewResult; //Assert Assert.AreEqual("Index", result.ViewName); }
static void Main(string[] args) { string mode; Controller controller = null; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (args.Length == 1) { mode = args[0]; } else { var modeForm = new ModeForm(); if (modeForm.ShowDialog() == DialogResult.OK) { mode = modeForm.Mode; } else { return; } } switch (mode) { case "play": controller = new BotController(); break; case "colossus": controller = new ColossusController(); break; case "explore": controller = new ExploreController(); break; default: MessageBox.Show($@"Unknown mode ""{args[0]}""."); break; } if (controller != null) { var form = new MainForm(); form.Controller = controller; Application.AddMessageFilter(form); Application.Run(form); } }
public void ReturnDefaultView() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); var controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act & Assert controller.WithCallTo(x => x.Index()).ShouldRenderDefaultView(); }
public void init(bool won, ExploreController controller, bool wonByAction, ushort rating) { bool hasWon = GameControl.control.getWorldLevel(ExploreController.world) > ExploreController.level; if (!hasWon && won && controller.stage.rewardPrompt.rewards != null && controller.stage.rewardPrompt.rewards.Length > 0) { setRewardPrompt(controller, wonByAction, rating, hasWon); } else { setExploreUI(won, controller, wonByAction, false, rating, hasWon); } }
public void ReturnCorrectPartialView() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act & Assert controller.WithCallTo(x => x.ExploreAims(new ExploreSubmitViewModel(), null)) .ShouldRenderPartialView("_ExploreResultsPartial"); }
string getLoss(uint silver, ExploreController controller) { //reduce original reward by (1/3 silver = (uint)Mathf.Clamp((float)silver * 0.25f, 0, GameControl.control.playerData.silver >= 21 ? GameControl.control.playerData.silver / 2 : 0); Debug.Log("silver loss - " + silver); string lossStr = ""; if (silver > 0) { lossStr = silver.ToString() + CatIAP.silverStr; GameControl.control.DecrementSilver(silver); } Cat user = controller.userPlayer.allCats[UnityEngine.Random.Range(0, controller.userPlayer.allCats.Length)].cat; Cat enemy = controller.enemyPlayer.allCats[UnityEngine.Random.Range(0, controller.enemyPlayer.allCats.Length)].cat; if (!string.IsNullOrEmpty(lossStr)) { string moneyStr = lossStr; lossStr = "<line-height=125%>\n<size=58%><line-height=120%>"; string[] phrases = new string[] { enemy.Name + " took " + moneyStr + " from you in victory :(", enemy.Name + " won " + moneyStr + " from you :<", user.Name + " gave " + enemy.Name + " " + moneyStr + " for a good game!", user.Name + " gave " + enemy.Name + " " + moneyStr + " for a fair play!", user.Name + " rewarded " + enemy.Name + " " + moneyStr + " for their win.", user.Name + " gifted " + enemy.Name + " " + moneyStr + " for a fun time.", }; lossStr += phrases[UnityEngine.Random.Range(0, phrases.Length)]; } else { lossStr = "<line-height=120%>\n<size=58%><line-height=100%>"; string[] tooltips = new string[] { "Winning via Acts gives a 60% higher rate of winning a cat!", "Try leveling up with fishbones!", "The right Act can get an automatic win.", "Have you tried using Acts?", "Maybe a different team could help.", "Perhaps leveling up could help.", "A stronger team might do the trick.", "Did you know that the right Acts can cause a win?", "Run out of silver? Try getting some from past stages!", }; lossStr += tooltips[UnityEngine.Random.Range(0, tooltips.Length)]; } return(lossStr); }
public void CallMethodGetAllCategories_FromServiceAimCategory() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); mockedAimCategoryService.Setup(x => x.GetAimCategories()).Returns(new List <AimCategory>()); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.Index(); // Assert mockedAimCategoryService.Verify(x => x.GetAimCategories(), Times.Once); }
public void ReturnCorrectPartialView_WithCorrectPages(int count) { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); // / 5 - count of aims per page - constant int pages = (int)Math.Ceiling((double)count / 5); mockedAimService .Setup(x => x.GetAimsCount(It.IsAny <string>(), It.IsAny <IEnumerable <int> >())) .Returns(count); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act & Assert controller.WithCallTo(x => x.ExploreAims(new ExploreSubmitViewModel(), null)) .ShouldRenderPartialView("_ExploreResultsPartial").WithModel <ExploreResultsViewModel>(x => x.Pages == pages); }
public void ReturnCorrectPartialView_WithCorrectAimsCollection() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); var mappedAims = new List <AimViewModel>(); mockedMapper.Setup(x => x.Map <IEnumerable <AimViewModel> >(It.IsAny <IEnumerable <Aim> >())) .Returns(mappedAims); ExploreController controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act & Assert controller.WithCallTo(x => x.ExploreAims(new ExploreSubmitViewModel(), null)) .ShouldRenderPartialView("_ExploreResultsPartial") .WithModel <ExploreResultsViewModel>(x => x.Aims == mappedAims); }
public void CallMapper() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); var categories = new List <AimCategory>(); mockedAimCategoryService.Setup(x => x.GetAimCategories()).Returns(categories); mockedMapper.Setup(x => x.Map <IEnumerable <AimCategoryViewModel> >(categories)).Verifiable(); var controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act controller.Index(); // Assert mockedMapper.Verify(x => x.Map <IEnumerable <AimCategoryViewModel> >(categories), Times.Once); }
public void PassTheViewCorrectModel() { // Arrange var mockedAimService = new Mock <IAimService>(); var mockedAimCategoryService = new Mock <IAimCategoryService>(); var mockedMapper = new Mock <IMapperAdapter>(); var categories = new List <AimCategory>(); var mappedCategories = new List <AimCategoryViewModel>(); mockedAimCategoryService.Setup(x => x.GetAimCategories()).Returns(categories); mockedMapper .Setup(x => x.Map <IEnumerable <AimCategoryViewModel> >(categories)) .Returns(mappedCategories); var controller = new ExploreController(mockedAimService.Object, mockedAimCategoryService.Object, mockedMapper.Object); // Act & Assert controller .WithCallTo(x => x.Index()) .ShouldRenderDefaultView() .WithModel <ExploreViewModel>(x => x.AimCategories == mappedCategories); }
public void Index_TestIndexData_ViewResult() { //Arrange ExploreController controller = new ExploreController(); DateTime testDateTime = new DateTime(1234, 12, 23); Project testProject = new Project("Planner", "content", testDateTime, "Done"); testProject.Save(); DateTime newDateTime = new DateTime(2018, 6, 7); Project newProject = new Project("Wedding Planner", "new content", newDateTime, "In Progress"); newProject.Save(); List <Project> expectedProjects = new List <Project> { testProject, newProject }; //Act ViewResult result = controller.Index() as ViewResult; List <Project> allProjects = result.ViewData.Model as List <Project>; //Assert CollectionAssert.AreEqual(expectedProjects, allProjects); }
private IEnumerator credits(Action onComplete, ExploreController controller, GameObject cat) { Canvas c = GetComponent <Canvas>(); c.worldCamera = Camera.main; c.sortingLayerName = "FX"; c.sortingOrder = 40; controller.GetComponent <Canvas>().enabled = false; //sleepy walks on screen TextMeshProUGUI text = GameControl.GetTextBox(transform, "text"); text.text = ""; Image bg = transform.Find("bg").GetComponent <Image>(); text.gameObject.SetActive(true); bg.gameObject.SetActive(true); CreditsCat creditsCat = GameObject.Instantiate(cat).AddComponent <CreditsCat>(); SpriteRenderer[] sprites = creditsCat.GetComponentsInChildren <SpriteRenderer>(); foreach (SpriteRenderer sprite in sprites) { sprite.sortingLayerName = "FX"; } creditsCat.transform.position = new Vector3(Camera.main.ViewportToWorldPoint(Vector3.zero).x - 2, 1.2f, 0); creditsCat.init(); StartCoroutine(creditsCat.walkAcrossScreen()); //dialogues string[] dialogues = new string[] { "<color=#7398df><b>Wholesome Cats: The End</b>", "<color=#a09cb7><size=80%><u>Created by</u><line-height=110%>" + "\nAngela He\n<u>Music by</u>" + "\nCityfires", "Thank mew for playing <3", }; for (int i = 0; i < dialogues.Length; i++) { changeBackground(i, bg); LeanTween.value(0, 1, 0.2f).setEaseInQuad().setOnUpdate((float value) => { text.color = new Color(text.color.r, text.color.g, text.color.b, value); }); text.text = dialogues[i]; float time = 5.5f; for (float j = 0; j < time; j += Time.deltaTime) { bg.rectTransform.offsetMin = new Vector2(Mathf.Lerp(0, -50, j / time), 0); bg.rectTransform.offsetMax = new Vector2(50 + bg.rectTransform.offsetMin.x, 176.9f); yield return(null); } LeanTween.value(1, 0, 0.2f).setEaseOutQuad().setOnUpdate((float value) => { text.color = new Color(text.color.r, text.color.g, text.color.b, value); }); yield return(new WaitForSeconds(0.2f)); } Debug.Log("IS THE CREDITS CAT DONE YET?!"); //sleepy walks off screen while (creditsCat != null) { yield return(null); } //fade out fadeInOut(2f, () => { onComplete(); bg.gameObject.SetActive(false); text.gameObject.SetActive(false); controller.GetComponent <Canvas>().enabled = true; }, true); }
public void Init(ExploreController controller) { this.controller = controller; SetActs(); gameObject.SetActive(true); }
//show credits screen public void wonLastLevel(ExploreController controller, bool wonByAction, GameObject cat, ushort rating) { Credits credits = GameObject.Instantiate(Resources.Load <GameObject>("miscPrefabs/Credits")).GetComponent <Credits>(); credits.init(() => init(true, controller, wonByAction, rating), controller, cat); }