public void AllTheNotificationEventPropertiesMatchTheRequestNotification() { var sourceProperties = typeof(INotificationEventCore).GetProperties(); var targetProperties = _event.GetType().GetProperties(); foreach (var rpi in sourceProperties) { var targetProp = targetProperties.SingleOrDefault(epi => epi.Name.Equals(rpi.Name)); if (targetProp == null) { throw new InvalidOperationException( string.Format("NotificationRequest.Notification property '{0}' does not exist on target NotificiationEvent", rpi.Name)); } Assert.That(rpi.GetValue(_request.Notification, null), Is.EqualTo(targetProp.GetValue(_event, null))); } }