public void Given_SomeGame_With_Player2_When_Player2_Select_A_Case_Then_The_Case_Is_Marked_By_O_And_Player1_Could_Play()
        {
            using (var consoleHooker = new TestsHelpers.ConsoleHooker())
            {
                // Arrange
                string expectedPlayer      = "Vince";
                string Player2             = "kavin";
                string expectedGrid        = "XO2OOXX78";
                var    stubGameViewFactory = Substitute.For <IGameViewFactory>();
                var    moq = Substitute.For <IGameView>();
                stubGameViewFactory.Create(Arg.Any <IUICommandChannel>()).Returns(moq);

                var sutBuilder = new CompositionRootBuilder()
                                 .WithPlayer1(expectedPlayer)
                                 .WithPlayer2(Player2)
                                 .WithPlayer2AsCurrentPlayer()
                                 .WithGrid(new bool?[, ]
                {
                    { true, false, true },
                    { null, false, null },
                    { null, true, null }
                })
                                 .WithGameViewFactory(stubGameViewFactory);
                var sut = sutBuilder.Create();

                // Act
                sut.ApplyPlayerSelection(Player2, 1, 0);

                // Assert
                moq.Received().Render(new GameDto(expectedGrid, expectedPlayer));
            }
        }
 public void KeyedServicesAreIgnored()
 {
     using var container = new CompositionRootBuilder()
                           .RegisterModule <ModuleWithKeyedServices>()
                           .Build();
     Assert.Empty(container.GetRegisteredTypes());
 }
Exemple #3
0
 public void ThrowsOnComponentNotRegistered()
 {
     using var container = new CompositionRootBuilder()
                           .RegisterModule(new FooModule())
                           .Build();
     Assert.NotNull(container.Resolve <IFoo>());
     Assert.Throws <ComponentNotRegisteredException>(() => container.Resolve <IBar>());
 }
Exemple #4
0
 public void CreateCompositionRootWithRegisteredModules()
 {
     using var container = new CompositionRootBuilder()
                           .RegisterModule(new FooModule())
                           .RegisterModule <BarModule>()
                           .Build();
     Assert.NotNull(container.Resolve <IFoo>());
     Assert.NotNull(container.Resolve <IBar>());
 }
        public void ReturnsAllRegisteredTypes()
        {
            var expectedTypes = new[]
            {
                typeof(IFoo),
                typeof(CreateFoo),
            };

            using var container = new CompositionRootBuilder()
                                  .RegisterModule <FooModule>()
                                  .Build();
            Assert.Equal(expectedTypes.OrderByFullTypeName(), container.GetRegisteredTypes().OrderByFullTypeName());
        }
        public void Given_NewGame_With_Player1_When_Game_Starts_Then_EmptyGrid_Is_Rendered_For_Player1()
        {
            using (var consoleHooker = new TestsHelpers.ConsoleHooker())
            {
                // Arrange
                string expectedPlayer      = "Player1";
                string expectedGrid        = "012345678";
                var    stubGameViewFactory = Substitute.For <IGameViewFactory>();
                var    sutBuilder          = new CompositionRootBuilder().WithPlayer1(expectedPlayer).WithGameViewFactory(stubGameViewFactory);
                var    moq = Substitute.For <IGameView>();
                stubGameViewFactory.Create(Arg.Any <IUICommandChannel>()).Returns(moq);
                var sut = sutBuilder.Create();

                // Act
                sut.Start();

                // Assert
                moq.Received().Render(new GameDto(expectedGrid, expectedPlayer));
            }
        }
Exemple #7
0
 public void CompositionRootBuilds()
 {
     using var container = new CompositionRootBuilder().Build();
     Assert.NotNull(container);
 }
Exemple #8
0