Exemplo n.º 1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            //Initialise view
            var view = new ChildrensGameView();

            //Intialise repository
            IGameRepository repository = new GameRestRepository(Properties.Settings.Default.GameParameterAPIAddress);

            //Initialise game manager
            IChildrensGameManager gameManager = new ChildrensGameManager();

            //Initialise presenter
            var presenter = new ChildrensGamePresenter(view, repository, gameManager);

            Application.Run(view);
        }
        public void CalculateGameResult_PassInChildrenCountAndEliminateEach_ShouldReturnEexpectedResult(int childrenCount, int eliminateEach, int lastChild, int[] orderOfElimination)
        {
            //Arrange
            var manager = new ChildrensGameManager();
            var mock    = new Mock <IGameRepository>();

            mock.Setup(m => m.GetGameParameter()).Returns(Task.FromResult(new GameParameter()
            {
                ChildrenCount = childrenCount, EliminateEach = eliminateEach
            }));

            //Act
            var actualGameResult = manager.CalculateGameResult(mock.Object.GetGameParameter().Result);
            var expectGameResult = new GameResult()
            {
                LastChild = lastChild, OrderOfElimination = orderOfElimination
            };

            //Assert
            Assert.IsTrue(actualGameResult.Result.LastChild == expectGameResult.LastChild);
            CollectionAssert.AreEqual(actualGameResult.Result.OrderOfElimination, expectGameResult.OrderOfElimination);
        }