Exemplo n.º 1
0
        public void NegotiateShouldThrowInvalidOperationExceptionWhenClientIsNull()
        {
            // Arrange
            IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>();

            connectionContext.Client.Returns((IClient)null);
            connectionContext.IpAddress.Returns(TestConstants.TEST_IP_ADDRESS);

            Disconnected connectionState = new Disconnected();

            // Act
            Action action = () => connectionState.NegotiateReservation(connectionContext);

            // Assert
            action.ShouldThrow <InvalidOperationException>();
        }
Exemplo n.º 2
0
        public void NegotiateShouldThrowInvalidOperationExceptionWhenIpAddressIsNull()
        {
            // Arrange
            IClient client = Substitute.For <IClient>();
            IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>();

            connectionContext.Client.Returns(client);
            connectionContext.IpAddress.Returns((string)null);

            Disconnected connectionState = new Disconnected();

            // Act
            Action action = () => connectionState.NegotiateReservation(connectionContext);

            // Assert
            action.ShouldThrow <InvalidOperationException>();
        }
Exemplo n.º 3
0
        public void NegotiateShouldTransitionToEstablishingSessionPolicyState()
        {
            // Arrange
            IClient serverClient = Substitute.For <IClient>();

            serverClient.IsConnected.Returns(false);
            serverClient
            .When(client => client.Start(Arg.Any <string>()))
            .Do(info => serverClient.IsConnected.Returns(true));

            IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>();

            connectionContext.Client.Returns(serverClient);

            Disconnected connectionState = new Disconnected();

            // Act
            connectionState.NegotiateReservation(connectionContext);

            // Assert
            connectionContext.Received().UpdateConnectionState(Arg.Any <EstablishingSessionPolicy>());
        }
Exemplo n.º 4
0
        public void NegotiateShouldSendMultiplayerSessionPolicyRequestPacketToClient()
        {
            // Arrange
            IClient serverClient = Substitute.For <IClient>();

            serverClient.IsConnected.Returns(false);
            serverClient
            .When(client => client.Start(Arg.Any <string>()))
            .Do(info => serverClient.IsConnected.Returns(true));

            IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>();

            connectionContext.Client.Returns(serverClient);

            Disconnected connectionState = new Disconnected();

            // Act
            connectionState.NegotiateReservation(connectionContext);

            // Assert
            serverClient.Received().Send(Arg.Any <MultiplayerSessionPolicyRequest>());
        }
Exemplo n.º 5
0
        public void NegotiateShouldStartTheClientOnTheContext()
        {
            // Arrange
            IClient serverClient = Substitute.For <IClient>();

            serverClient.IsConnected.Returns(false);
            serverClient
            .When(client => client.Start(Arg.Any <string>()))
            .Do(info => serverClient.IsConnected.Returns(true));

            IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>();

            connectionContext.Client.Returns(serverClient);

            Disconnected connectionState = new Disconnected();

            // Act
            connectionState.NegotiateReservation(connectionContext);

            // Assert
            serverClient.IsConnected.Should().BeTrue();
        }