public void IsSameAs_SecondGameDataIsNull_ReturnsFalse()
        {
            var gameData1 = new GameInitializationData();
            var message1  = new InitializeGameMessage(gameData1);
            var message2  = new InitializeGameMessage(null);

            message1.IsSameAs(message2).ShouldBeFalse();
        }
        public void IsSameAs_MessagesAreSame_ReturnsTrue()
        {
            var gameData1 = new GameInitializationData {
                BoardData = new Byte[] { 1, 2, 3 }
            };
            var message1  = new InitializeGameMessage(gameData1);
            var gameData2 = new GameInitializationData {
                BoardData = new Byte[] { 1, 2, 3 }
            };
            var message2 = new InitializeGameMessage(gameData2);

            message1.IsSameAs(message2).ShouldBeTrue();
        }
        public void IsSameAs_DataIsDifferent_ReturnsFalse()
        {
            var gameData1 = new GameInitializationData {
                BoardData = new Byte[] { 1, 2, 3 }
            };
            var message1  = new InitializeGameMessage(gameData1);
            var gameData2 = new GameInitializationData {
                BoardData = new Byte[] { 3, 2, 1 }
            };
            var message2 = new InitializeGameMessage(gameData2);

            message1.IsSameAs(message2).ShouldBeFalse();
        }
Exemplo n.º 4
0
        public void AllClientsReceiveBoardDataWhenGameSessionIsLaunched()
        {
            Jabberwocky.SoC.Service.GameSessionManager gameSessionManager = null;
            try
            {
                // Arrange
                var testPlayer1Data = new Jabberwocky.SoC.Service.PlayerData(TestPlayer1UserName);
                var testPlayer2Data = new Jabberwocky.SoC.Service.PlayerData(TestPlayer2UserName);
                var testPlayer3Data = new Jabberwocky.SoC.Service.PlayerData(TestPlayer3UserName);
                var testPlayer4Data = new Jabberwocky.SoC.Service.PlayerData(TestPlayer4UserName);

                var mockPlayerCardRepository = this.CreateMockPlayerCardRepository(
                    testPlayer1Data,
                    testPlayer2Data,
                    testPlayer3Data,
                    testPlayer4Data);

                gameSessionManager = GameSessionManagerTestExtensions.CreateGameSessionManagerForTest(4)
                                     .AddPlayerCardRepository(mockPlayerCardRepository)
                                     .WaitUntilGameSessionManagerHasStarted();

                var testPlayer1 = new TestClient(TestPlayer1UserName, gameSessionManager);
                var testPlayer2 = new TestClient(TestPlayer2UserName, gameSessionManager);
                var testPlayer3 = new TestClient(TestPlayer3UserName, gameSessionManager);
                var testPlayer4 = new TestClient(TestPlayer4UserName, gameSessionManager);

                var gameInitializationData = GameInitializationDataBuilder.Build(new GameBoardManager(BoardSizes.Standard));
                var expectedMessage        = new InitializeGameMessage(gameInitializationData);

                // Act
                var testScript = new TestScript(testPlayer1, testPlayer2, testPlayer3, testPlayer4);
                testScript.RunUntil(TestScript.RunPoints.RunUntilClientsReceiveGameInitializationMessage);

                // Assert
                testPlayer1.GetLastMessage().IsSameAs(expectedMessage);
                testPlayer2.GetLastMessage().IsSameAs(expectedMessage);
                testPlayer3.GetLastMessage().IsSameAs(expectedMessage);
                testPlayer4.GetLastMessage().IsSameAs(expectedMessage);
            }
            finally
            {
                gameSessionManager?.WaitUntilGameSessionManagerHasStopped();
            }
        }