private void ThenItShouldReturnAGlobalXMessage(GlobalXMessage message) { _globalXMessage.ShouldNotBeNull(); _globalXMessage.ShouldSatisfyAllConditions( () => _globalXMessage.Created.ShouldBe(message.Created), () => _globalXMessage.Text.ShouldBe(message.Text), () => { if (message.MessageParts != null) { _globalXMessage.MessageParts.ShouldNotBeNull(); _globalXMessage.MessageParts.Length.ShouldBe(message.MessageParts.Length); for (int i = 0; i < _globalXMessage.MessageParts.Length; i++) { _globalXMessage.MessageParts[i].MessageType.ShouldBe(message.MessageParts[i].MessageType); _globalXMessage.MessageParts[i].Text.ShouldBe(message.MessageParts[i].Text); _globalXMessage.MessageParts[i].UserId.ShouldBe(message.MessageParts[i].UserId); if (message.MessageParts[i].ListItems != null) { _globalXMessage.MessageParts[i].ListItems .SequenceEqual(message.MessageParts[i].ListItems).ShouldBeTrue(); } } } else { _globalXMessage.MessageParts.ShouldBeNull(); } }, () => _globalXMessage.Sender.ShouldBeNull(), () => _globalXMessage.RoomId.ShouldBe(message.RoomId), () => _globalXMessage.RoomType.ShouldBe(message.RoomType) ); }
private void ThenItShouldReturnTheGlobalXMessage(GlobalXMessage result) { _result.ShouldNotBeNull(); _result.ShouldSatisfyAllConditions( () => _result.Created.ShouldBe(result.Created), () => _result.Text.ShouldBe(result.Text), () => { if (result.MessageParts != null) { _result.MessageParts.ShouldNotBeNull(); _result.MessageParts.Length.ShouldBe(result.MessageParts.Length); for (int i = 0; i < _result.MessageParts.Length; i++) { _result.MessageParts[i].MessageType.ShouldBe(result.MessageParts[i].MessageType); _result.MessageParts[i].Text.ShouldBe(result.MessageParts[i].Text); _result.MessageParts[i].UserId.ShouldBe(result.MessageParts[i].UserId); } } else { _result.MessageParts.ShouldBeNull(); } }, () => { if (result.Sender != null) { ComparePeople(result.Sender, _result.Sender); } else { _result.Sender.ShouldBeNull(); } }, () => _result.RoomId.ShouldBe(result.RoomId), () => _result.RoomType.ShouldBe(result.RoomType) ); }