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); }
public void OpenGame(OpenGameClientMessage openGameClientMessage) { this.openGameService.Send(openGameClientMessage); }