similar_asserts::assert_eq!($errors.iter().map(|e| e.to_string()).collect::<Vec<_>>().as_slice(), $messages);
assert_errors!(errors, "In component \"VJOURNAL\" at index 0: No properties found in component, required at least one");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Common name (CN) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Common name (CN) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Calendar user type (CUTYPE) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Calendar user type (CUTYPE) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Delegated from (DELEGATED-FROM) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Delegated from (DELEGATED-FROM) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Delegated to (DELEGATED-TO) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Delegated to (DELEGATED-TO) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Directory entry reference (DIR) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Directory entry reference (DIR) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"ATTACH\" at index 2: Property is declared to have a binary value but no encoding is set, must be set to BASE64");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"ATTACH\" at index 2: Property is declared to have a binary value but the encoding is set to 8BIT, instead of BASE64");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: FMTTYPE is not allowed");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: FBTYPE is not allowed");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DTSTART\" at index 2: LANGUAGE is not allowed");
"In calendar property \"VERSION\" at index 1: Group or list membership (MEMBER) is not allowed for this property type"
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Group or list membership (MEMBER) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"ATTENDEE\" at index 2: Invalid participation status (PARTSTAT) value [Completed] in a VEVENT component context");
assert_errors!(&errors,"In component \"VJOURNAL\" at index 0, in component property \"ATTENDEE\" at index 2: Invalid participation status (PARTSTAT) value [InProcess] in a VJOURNAL component context");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Participation status (PARTSTAT) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Participation status (PARTSTAT) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: RANGE is not allowed");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Related (RELATED) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Related (RELATED) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Relationship type (RELTYPE) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DTSTART\" at index 2: Relationship type (RELTYPE) is not allowed for this property type");
assert_errors!(&errors, "In calendar property \"VERSION\" at index 1: Participation role (ROLE) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Participation role (ROLE) is not allowed for this property type");
assert_errors!(&errors, "In calendar property \"VERSION\" at index 1: RSVP expectation (RSVP) is not allowed for this property type");
assert_errors!(errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: RSVP expectation (RSVP) is not allowed for this property type");
assert_errors!(errors, "In calendar property \"VERSION\" at index 1: Sent by (SENT-BY) is not allowed for this property type");
assert_errors!(&errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Sent by (SENT-BY) is not allowed for this property type");
assert_errors!(&errors, "In component \"VEVENT\" at index 0, in component property \"ORGANIZER\" at index 2: Sent by (SENT-BY) must be a 'mailto:' URI");
assert_errors!(&errors, "In component \"VEVENT\" at index 0, in component property \"DTSTART\" at index 2: Required time zone ID [missing] is not defined in the calendar");
assert_errors!(&errors, "In component \"VEVENT\" at index 1, in component property \"DTSTART\" at index 2: Time zone ID (TZID) cannot be specified on a property with a UTC time");
assert_errors!(&errors, "In component \"VEVENT\" at index 1, in component property \"DTSTART\" at index 2: Time zone ID (TZID) is not allowed for the property value type DATE");
assert_errors!(&errors, "In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: TZID is not allowed");
"In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: Property is declared to have an integer value but that is not valid for this property",
"In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 2: VALUE is not allowed"
"In component \"VEVENT\" at index 0, in component property \"DTSTART\" at index 3: DTSTART must only appear once",
"In component \"VEVENT\" at index 0, in component property \"CLASS\" at index 5: CLASS must only appear once",
"In component \"VEVENT\" at index 0, in component property \"CREATED\" at index 7: CREATED must only appear once",
"In component \"VEVENT\" at index 0, in component property \"DESCRIPTION\" at index 9: DESCRIPTION must only appear once",
"In component \"VEVENT\" at index 0, in component property \"GEO\" at index 11: GEO must only appear once",
"In component \"VEVENT\" at index 0, in component property \"LAST-MODIFIED\" at index 13: LAST-MODIFIED must only appear once",
"In component \"VEVENT\" at index 0, in component property \"LOCATION\" at index 15: LOCATION must only appear once",
"In component \"VEVENT\" at index 0, in component property \"ORGANIZER\" at index 17: ORGANIZER must only appear once",
"In component \"VEVENT\" at index 0, in component property \"PRIORITY\" at index 19: PRIORITY must only appear once",
"In component \"VEVENT\" at index 0, in component property \"SEQUENCE\" at index 21: SEQUENCE must only appear once",
"In component \"VEVENT\" at index 0, in component property \"STATUS\" at index 23: STATUS must only appear once",
"In component \"VEVENT\" at index 0, in component property \"SUMMARY\" at index 25: SUMMARY must only appear once",
"In component \"VEVENT\" at index 0, in component property \"TRANSP\" at index 27: TRANSP must only appear once",
"In component \"VEVENT\" at index 0, in component property \"URL\" at index 29: URL must only appear once",
"In component \"VEVENT\" at index 0, in component property \"RECURRENCE-ID\" at index 31: RECURRENCE-ID must only appear once",
"In component \"VEVENT\" at index 0, in component property \"DTEND\" at index 3: DTEND must only appear once",
"In component \"VEVENT\" at index 0, in component property \"DURATION\" at index 3: DURATION must only appear once",
"In component \"VEVENT\" at index 0: Both DTEND and DURATION properties are present, only one is allowed",
"In component \"VTODO\" at index 0, in component property \"CLASS\" at index 3: CLASS must only appear once",
"In component \"VTODO\" at index 0, in component property \"CREATED\" at index 7: CREATED must only appear once",
"In component \"VTODO\" at index 0, in component property \"DESCRIPTION\" at index 9: DESCRIPTION must only appear once",
"In component \"VTODO\" at index 0, in component property \"DTSTART\" at index 11: DTSTART must only appear once",
"In component \"VTODO\" at index 0, in component property \"GEO\" at index 13: GEO must only appear once",
"In component \"VTODO\" at index 0, in component property \"LAST-MODIFIED\" at index 15: LAST-MODIFIED must only appear once",
"In component \"VTODO\" at index 0, in component property \"LOCATION\" at index 17: LOCATION must only appear once",
"In component \"VTODO\" at index 0, in component property \"ORGANIZER\" at index 19: ORGANIZER must only appear once",
"In component \"VTODO\" at index 0, in component property \"PERCENT-COMPLETE\" at index 21: PERCENT-COMPLETE must only appear once",
"In component \"VTODO\" at index 0, in component property \"PRIORITY\" at index 23: PRIORITY must only appear once",
"In component \"VTODO\" at index 0, in component property \"RECURRENCE-ID\" at index 25: RECURRENCE-ID must only appear once",
"In component \"VTODO\" at index 0, in component property \"SEQUENCE\" at index 27: SEQUENCE must only appear once",
"In component \"VTODO\" at index 0, in component property \"STATUS\" at index 29: STATUS must only appear once",
"In component \"VTODO\" at index 0, in component property \"SUMMARY\" at index 31: SUMMARY must only appear once",
"In component \"VTODO\" at index 0, in component property \"URL\" at index 33: URL must only appear once",
"In component \"VTODO\" at index 0, in component property \"DUE\" at index 3: DUE must only appear once",
"In component \"VTODO\" at index 0, in component property \"DURATION\" at index 4: DURATION must only appear once",
"In component \"VTODO\" at index 0: DURATION property is present but no DTSTART property is present",
"In component \"VTODO\" at index 0: Both DUE and DURATION properties are present, only one is allowed",
"In component \"VJOURNAL\" at index 0, in component property \"CLASS\" at index 3: CLASS must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"CREATED\" at index 5: CREATED must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"DTSTART\" at index 7: DTSTART must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"LAST-MODIFIED\" at index 9: LAST-MODIFIED must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"ORGANIZER\" at index 11: ORGANIZER must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"RECURRENCE-ID\" at index 13: RECURRENCE-ID must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"SEQUENCE\" at index 15: SEQUENCE must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"STATUS\" at index 17: STATUS must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"SUMMARY\" at index 19: SUMMARY must only appear once",
"In component \"VJOURNAL\" at index 0, in component property \"URL\" at index 21: URL must only appear once"
"In component \"VFREEBUSY\" at index 0, in component property \"CONTACT\" at index 3: CONTACT must only appear once",
"In component \"VFREEBUSY\" at index 0, in component property \"DTSTART\" at index 5: DTSTART must only appear once",
"In component \"VFREEBUSY\" at index 0, in component property \"DTEND\" at index 7: DTEND must only appear once",
"In component \"VFREEBUSY\" at index 0, in component property \"ORGANIZER\" at index 9: ORGANIZER must only appear once",
"In component \"VFREEBUSY\" at index 0, in component property \"URL\" at index 11: URL must only appear once",
"In component \"VTIMEZONE\" at index 0: No standard or daylight components found in time zone, required at least one",
"In component \"VTIMEZONE\" at index 0, in component property \"LAST-MODIFIED\" at index 2: LAST-MODIFIED must only appear once",
"In component \"VTIMEZONE\" at index 0, in component property \"TZURL\" at index 4: TZURL must only appear once",
"In component \"VTIMEZONE\" at index 0, in nested component \"STANDARD\" at index 0: DTSTART is required",
"In component \"VTIMEZONE\" at index 0, in nested component \"STANDARD\" at index 0: TZOFFSETTO is required",
"In component \"VTIMEZONE\" at index 0, in nested component \"STANDARD\" at index 0: TZOFFSETFROM is required",
"In component \"VTIMEZONE\" at index 0, in nested component \"DAYLIGHT\" at index 1: DTSTART is required",
"In component \"VTIMEZONE\" at index 0, in nested component \"DAYLIGHT\" at index 1: TZOFFSETTO is required",
"In component \"VTIMEZONE\" at index 0, in nested component \"DAYLIGHT\" at index 1: TZOFFSETFROM is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0: Required exactly one ACTION property but found 0",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0: TRIGGER is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 1: TRIGGER is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 1: DESCRIPTION is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2: TRIGGER is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2: DESCRIPTION is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2: SUMMARY is required",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0, in nested component property \"DURATION\" at index 3: DURATION must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0, in nested component property \"REPEAT\" at index 5: REPEAT must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0, in nested component property \"ATTACH\" at index 7: ATTACH must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 1, in nested component property \"DURATION\" at index 4: DURATION must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 1, in nested component property \"REPEAT\" at index 6: REPEAT must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2, in nested component property \"DURATION\" at index 5: DURATION must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2, in nested component property \"REPEAT\" at index 7: REPEAT must only appear once",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 1: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 2: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 3: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 4: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 5: DURATION and REPEAT properties must be present together",
"In component \"VEVENT\" at index 0, in component property \"ATTACH\" at index 2: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in component property \"DTEND\" at index 3: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in component property \"DTSTART\" at index 4: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in component property \"EXDATE\" at index 5: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in component property \"RDATE\" at index 6: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0, in nested component property \"TRIGGER\" at index 2: Redundant value specification which matches the default value",
"In component \"VTODO\" at index 1, in component property \"DUE\" at index 2: Redundant value specification which matches the default value",
"In component \"VEVENT\" at index 0, in component property \"X-TIME-INVALID-HOUR\" at index 2: Found an invalid time at index 0 - Hour must be between 0 and 23",
"In component \"VEVENT\" at index 0, in component property \"X-TIME-INVALID-MINUTE\" at index 3: Found an invalid time at index 0 - Minute must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"X-TIME-INVALID-SECOND\" at index 4: Found an invalid time at index 0 - Second must be between 0 and 60",
"In component \"VEVENT\" at index 0, in component property \"X-UTC-OFFSET-NEGATIVE-ZERO\" at index 6: Found an invalid UTC offset - UTC offset must have a non-zero value if it is negative",
"In component \"VEVENT\" at index 0, in component property \"X-UTC-OFFSET-INVALID-MINUTE\" at index 8: Found an invalid UTC offset - Minutes must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"X-BASE-64\" at index 9: Property is declared to have a binary value but the encoding is set to 8BIT, instead of BASE64",
"In component \"VEVENT\" at index 0, in component property \"X-BASE-64\" at index 10: Property is declared to have a binary value but the value is not base64",
"In component \"VEVENT\" at index 0, in component property \"X-BOOLEAN\" at index 11: Property is declared to have a boolean value but the value is not a boolean",
"In component \"VEVENT\" at index 0, in component property \"X-CAL-ADDRESS-NOT-URL\" at index 12: Property is declared to have a calendar address value but the value is not a mailto: URI",
"In component \"VEVENT\" at index 0, in component property \"X-DATE\" at index 14: Property is declared to have a date value but the value is not a date",
"In component \"VEVENT\" at index 0, in component property \"X-DATE-TIME\" at index 15: Property is declared to have a date-time value but the value is not a date-time",
"In component \"VEVENT\" at index 0, in component property \"X-DURATION\" at index 16: Property is declared to have a duration value but the value is not a duration",
"In component \"VEVENT\" at index 0, in component property \"X-FLOAT\" at index 17: Property is declared to have a float value but the value is not a float",
"In component \"VEVENT\" at index 0, in component property \"X-INTEGER\" at index 18: Property is declared to have an integer value but the value is not an integer",
"In component \"VEVENT\" at index 0, in component property \"X-PERIOD\" at index 19: Property is declared to have a period value but the value is not a period",
"In component \"VEVENT\" at index 0, in component property \"X-RECUR\" at index 20: Property is declared to have a recurrence value but the value is not a recurrence",
"In component \"VEVENT\" at index 0, in component property \"X-TEXT\" at index 21: Property is declared to have a text value but the value is not a text",
"In component \"VEVENT\" at index 0, in component property \"X-URI\" at index 22: Property is declared to have a URI value but the value is not a URI",
"In component \"VEVENT\" at index 0, in component property \"TIME-INVALID-HOUR\" at index 2: Found an invalid time at index 0 - Hour must be between 0 and 23",
"In component \"VEVENT\" at index 0, in component property \"TIME-INVALID-MINUTE\" at index 3: Found an invalid time at index 0 - Minute must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"TIME-INVALID-SECOND\" at index 4: Found an invalid time at index 0 - Second must be between 0 and 60",
"In component \"VEVENT\" at index 0, in component property \"UTC-OFFSET-NEGATIVE-ZERO\" at index 6: Found an invalid UTC offset - UTC offset must have a non-zero value if it is negative",
"In component \"VEVENT\" at index 0, in component property \"UTC-OFFSET-INVALID-MINUTE\" at index 8: Found an invalid UTC offset - Minutes must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"BASE-64\" at index 9: Property is declared to have a binary value but the encoding is set to 8BIT, instead of BASE64",
"In component \"VEVENT\" at index 0, in component property \"BASE-64\" at index 10: Property is declared to have a binary value but the value is not base64",
"In component \"VEVENT\" at index 0, in component property \"BOOLEAN\" at index 11: Property is declared to have a boolean value but the value is not a boolean",
"In component \"VEVENT\" at index 0, in component property \"CAL-ADDRESS-NOT-URL\" at index 12: Property is declared to have a calendar address value but the value is not a mailto: URI",
"In component \"VEVENT\" at index 0, in component property \"DATE\" at index 14: Property is declared to have a date value but the value is not a date",
"In component \"VEVENT\" at index 0, in component property \"DATE-TIME\" at index 15: Property is declared to have a date-time value but the value is not a date-time",
"In component \"VEVENT\" at index 0, in component property \"OTHER-DURATION\" at index 16: Property is declared to have a duration value but the value is not a duration",
"In component \"VEVENT\" at index 0, in component property \"FLOAT\" at index 17: Property is declared to have a float value but the value is not a float",
"In component \"VEVENT\" at index 0, in component property \"INTEGER\" at index 18: Property is declared to have an integer value but the value is not an integer",
"In component \"VEVENT\" at index 0, in component property \"PERIOD\" at index 19: Property is declared to have a period value but the value is not a period",
"In component \"VEVENT\" at index 0, in component property \"RECUR\" at index 20: Property is declared to have a recurrence value but the value is not a recurrence",
"In component \"VEVENT\" at index 0, in component property \"TEXT\" at index 21: Property is declared to have a text value but the value is not a text",
"In component \"VEVENT\" at index 0, in component property \"OTHER-URI\" at index 22: Property is declared to have a URI value but the value is not a URI",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 4: No frequency part found in recurrence rule, but it is required. This prevents the rest of the rule being checked",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 5: Recurrence rule must start with a frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 6: Repeated FREQ part at index 1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 7: Repeated UNTIL part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 8: Repeated COUNT part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 9: Repeated INTERVAL part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 10: Repeated BYSECOND part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 11: Repeated BYMINUTE part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 12: Repeated BYHOUR part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 13: Repeated BYDAY part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 14: Repeated BYMONTHDAY part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 15: Repeated BYYEARDAY part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 16: Repeated BYWEEKNO part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 17: Repeated BYMONTH part at index 2",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 18: Repeated WKST part at index 4",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 19: Repeated BYSETPOS part at index 3",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 3: Invalid BYSECOND part at index 1, seconds must be between 0 and 60",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 4: Invalid BYMINUTE part at index 1, minutes must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 5: Invalid BYHOUR part at index 1, hours must be between 0 and 23",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 2: Recurrence rule must have a DTSTART property associated with it",
"In component \"VEVENT\" at index 1, in component property \"RRULE\" at index 3: UNTIL part at index 1 is a date-time, but the associated DTSTART property is a date",
"In component \"VEVENT\" at index 2, in component property \"RRULE\" at index 3: UNTIL part at index 1 is a date, but the associated DTSTART property is a date-time",
"In component \"VEVENT\" at index 3, in component property \"RRULE\" at index 3: UNTIL part at index 1 must be a UTC time if the associated DTSTART property is a UTC time or a local time with a timezone",
"In component \"VEVENT\" at index 4, in component property \"RRULE\" at index 3: UNTIL part at index 1 must be a UTC time if the associated DTSTART property is a UTC time or a local time with a timezone",
"In component \"VEVENT\" at index 5, in component property \"RRULE\" at index 3: UNTIL part at index 1 must be a local time if the associated DTSTART property is a local time",
"In component \"VTIMEZONE\" at index 7, in nested component \"STANDARD\" at index 0, in nested component property \"RRULE\" at index 1: UNTIL part at index 1 must be a UTC time here",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 3: BYSECOND part at index 1 is not valid when the associated DTSTART property has a DATE value type",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 4: BYMINUTE part at index 1 is not valid when the associated DTSTART property has a DATE value type",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 5: BYHOUR part at index 1 is not valid when the associated DTSTART property has a DATE value type",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 3: Invalid BYSECOND part at index 1, seconds must be between 0 and 60",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 5: Invalid BYMINUTE part at index 1, minutes must be between 0 and 59",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 7: Invalid BYHOUR part at index 1, hours must be between 0 and 23",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 9: Invalid BYMONTHDAY part at index 1, days must be between 1 and 31, or -31 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 10: Invalid BYMONTHDAY part at index 1, days must be between 1 and 31, or -31 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 12: Invalid BYYEARDAY part at index 1, days must be between 1 and 366, or -366 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 13: Invalid BYYEARDAY part at index 1, days must be between 1 and 366, or -366 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 15: Invalid BYWEEKNO part at index 1, weeks must be between 1 and 53, or -53 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 16: Invalid BYWEEKNO part at index 1, weeks must be between 1 and 53, or -53 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 18: Invalid BYSETPOS part at index 1, set positions must be between 1 and 366, or -366 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 19: Invalid BYSETPOS part at index 1, set positions must be between 1 and 366, or -366 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 20: Invalid BYSETPOS part at index 1, set positions must be between 1 and 366, or -366 and -1",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 3: BYDAY part at index 1 has a day with an offset, but the frequency is not MONTHLY or YEARLY",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 4: BYDAY part at index 1 has a day with an offset, but the frequency is not MONTHLY or YEARLY",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 5: BYDAY part at index 1 has a day with an offset, but the frequency is not MONTHLY or YEARLY",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 6: BYDAY part at index 1 has a day with an offset, but the frequency is not MONTHLY or YEARLY",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 7: BYDAY part at index 1 has a day with an offset, but the frequency is not MONTHLY or YEARLY",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 10: BYDAY part at index 2 has a day with an offset, but the frequency is YEARLY and a BYWEEKNO part is specified",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 11: BYMONTHDAY part at index 1 is not valid for a WEEKLY frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 12: BYYEARDAY part at index 1 is not valid for a DAILY, WEEKLY or MONTHLY frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 13: BYYEARDAY part at index 1 is not valid for a DAILY, WEEKLY or MONTHLY frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 14: BYYEARDAY part at index 1 is not valid for a DAILY, WEEKLY or MONTHLY frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 15: BYWEEKNO part at index 1 is only valid for a YEARLY frequency",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 16: WKST part at index 2 is redundant",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 17: WKST part at index 2 is redundant",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 19: WKST part at index 1 is redundant",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 21: WKST part at index 1 is redundant",
"In component \"VEVENT\" at index 0, in component property \"RRULE\" at index 22: BYSETPOS part at index 1 is not valid without another BYxxx rule part",
assert_eq!("In component \"VEVENT\" at index 0, in component property \"X-HELLO\" at index 2: Property is declared to have a boolean value but the value is not a boolean", errors.first().unwrap().to_string());
assert_eq!("In component \"VEVENT\" at index 0, in component property \"HELLO\" at index 2: Property is declared to have a boolean value but the value is not a boolean", errors.first().unwrap().to_string());
assert_eq!("In component \"VEVENT\" at index 0, in component property \"X-HELLO\" at index 2: Property is declared to have a date value but the value is not a date", errors.first().unwrap().to_string());
assert_eq!("In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0: Required exactly one ACTION property but found 0", errors.first().unwrap().to_string());
assert_errors!(&errors, "In component \"VEVENT\" at index 0, in nested component \"VALARM\" at index 0, in nested component property \"ATTACH\" at index 3: ATTACH must only appear once");