Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public void Init(ExploreController controller)
 {
     this.controller      = controller;
     transform.localScale = Vector3.one * 0.3f;
     stage1();
     ContinueTutorial();
 }
Exemple #4
0
    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);
        }
    }
Exemple #5
0
 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");
         });
     }
 }
Exemple #6
0
        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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 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);
        }
Exemple #11
0
        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();
        }
Exemple #13
0
    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);
        }
    }
Exemple #14
0
        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");
        }
Exemple #15
0
    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);
        }
Exemple #17
0
        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);
        }
Exemple #18
0
        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);
        }
Exemple #22
0
    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);
    }
Exemple #23
0
 public void Init(ExploreController controller)
 {
     this.controller = controller;
     SetActs();
     gameObject.SetActive(true);
 }
Exemple #24
0
    //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);
    }