public void UT_When_HandleOpenGame_Then_Success()
        {
            var session1 = this.sessions.First(s => s.Name == this.session1Name);
            var session1Player1Name = session1.Player1Name;
            var session1Player2Name = session1.Player2Name;
            var player1SessionHistory = new SessionHistory<TestMoveObject, TestResponseObject>(this.session1Name, session1Player1Name);
            var player2SessionHistory = new SessionHistory<TestMoveObject, TestResponseObject>(this.session1Name, session1Player2Name);

            this.sessionServiceMock
                .Setup(s => s.GetByName(It.Is<string>(x => x == this.session1Name)))
                .Returns(session1)
                .Verifiable();
            this.sessionHistoryServiceMock
                .Setup(s => s.GetBySessionPlayer(It.Is<string>(x => x == this.session1Name), It.Is<string>(x => x == session1Player1Name)))
                .Returns(player1SessionHistory)
                .Verifiable();
            this.sessionHistoryServiceMock
                .Setup(s => s.GetBySessionPlayer(It.Is<string>(x => x == this.session1Name), It.Is<string>(x => x == session1Player2Name)))
                .Returns(player2SessionHistory)
                .Verifiable();

            var openGameClientMessage = new OpenGameClientMessage
            {
                SessionName = this.session1Name,
                UserName = this.requestPlayer
            };
            var clientContract = new ClientContract
            {
                Type = GamifyClientMessageType.OpenGame,
                Sender = this.requestPlayer,
                SerializedClientMessage = this.serializer.Serialize(openGameClientMessage)
            };

            var gameSelectionPluginComponent = this.GetGameSelectionPluginComponent();
            var canHandle = gameSelectionPluginComponent.CanHandleClientMessage(clientContract);

            gameSelectionPluginComponent.HandleClientMessage(clientContract);

            this.sessionServiceMock.VerifyAll();
            this.sessionHistoryServiceMock.VerifyAll();
            this.notificationServiceMock.Verify(s => s.Send(It.Is<int>(t => t == GamifyServerMessageType.GameInformationReceived),
                It.Is<object>(o => ((GameInformationReceivedServerMessage)o).SessionName == this.session1Name),
                It.Is<string>(x => x == this.requestPlayer)));

            Assert.IsTrue(canHandle);
        }
Exemplo n.º 2
0
 public void OpenGame(OpenGameClientMessage openGameClientMessage)
 {
     this.openGameService.Send(openGameClientMessage);
 }