public void Disconnect_AsMember_ScrumTeamGetMessageWithMember() { // Arrange var target = new ScrumTeam("test team"); var master = target.SetScrumMaster("master"); var member = target.Join("member", false); MessageReceivedEventArgs eventArgs = null; target.MessageReceived += new EventHandler <MessageReceivedEventArgs>((s, e) => eventArgs = e); // Act target.Disconnect(member.Name); // Verify Assert.IsNotNull(eventArgs); var message = eventArgs.Message; Assert.IsInstanceOfType(message, typeof(MemberMessage)); var memberMessage = (MemberMessage)message; Assert.AreEqual <Observer>(member, memberMessage.Member); }