public void JoinSessionShouldThrowInvalidOperationException() { // Arrange IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act Action action = () => connectionState.JoinSession(connectionContext); // Assert action.Should().Throw <InvalidOperationException>(); }
public void DisconnectShouldTransitionToDisconnectedState() { // Arrange IClient serverClient = Substitute.For <IClient>(); IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); connectionContext.Client.Returns(serverClient); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act connectionState.Disconnect(connectionContext); // Assert connectionContext.Received().UpdateConnectionState(Arg.Any <Disconnected>()); }
public void DisconnectShouldResetTheConnectionContext() { // Arrange IClient serverClient = Substitute.For <IClient>(); IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); connectionContext.Client.Returns(serverClient); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act connectionState.Disconnect(connectionContext); // Assert connectionContext.Received().ClearSessionState(); }
public void NegotiateShouldThrowInvalidOperationExceptionWhenAuthenticationContextIsNull() { // Arrange IClient serverClient = Substitute.For <IClient>(); serverClient.IsConnected.Returns(true); IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); connectionContext.SessionPolicy.Returns(TestConstants.TEST_SESSION_POLICY); connectionContext.AuthenticationContext.Returns((AuthenticationContext)null); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act Action action = () => connectionState.NegotiateReservation(connectionContext); // Assert action.Should().Throw <InvalidOperationException>(); }
public void NegotiateShouldThrowInvalidOperationExceptionWhenPlayerSettingsIsNull() { // Arrange IClient serverClient = Substitute.For <IClient>(); serverClient.IsConnected.Returns(true); IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); connectionContext.PlayerSettings.Returns((PlayerSettings)null); connectionContext.AuthenticationContext.Returns(TestConstants.TEST_AUTHENTICATION_CONTEXT); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act Action action = () => connectionState.NegotiateReservation(connectionContext); // Assert action.ShouldThrow <InvalidOperationException>(); }
public void NegotiateShouldTransitionToAwaitingSessionReservationState() { // Arrange IClient serverClient = Substitute.For <IClient>(); serverClient.IsConnected.Returns(true); IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); connectionContext.Client.Returns(serverClient); connectionContext.PlayerSettings.Returns(TestConstants.TEST_PLAYER_SETTINGS); connectionContext.AuthenticationContext.Returns(TestConstants.TEST_AUTHENTICATION_CONTEXT); AwaitingReservationCredentials connectionState = new AwaitingReservationCredentials(); // Act connectionState.NegotiateReservation(connectionContext); // Assert connectionContext.Received().UpdateConnectionState(Arg.Any <AwaitingSessionReservation>()); }