public void JoinSessionShouldThrowInvalidOperationExcepion() { // Arrange IMultiplayerSessionConnectionContext connectionContext = Substitute.For <IMultiplayerSessionConnectionContext>(); SessionJoined connectionState = new SessionJoined(); // 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); SessionJoined connection = new SessionJoined(); // Act connection.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); SessionJoined connectionState = new SessionJoined(); // Act connectionState.Disconnect(connectionContext); // Assert connectionContext.Received().ClearSessionState(); }
private void session_joined(IntPtr context, UInt16 sessionPort, IntPtr id, string joiner) { SessionJoined?.Invoke(this, new SessionJoinedEventArgs(sessionPort, joiner, id)); }