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); }