public static ShapeMatcher<Shape> hasEvent(
            ValidatedResult<Model> result,
            String eventId,
            Severity severity,
            String messageContains
    ) {
        return builderFor(Shape.class, result).addEventAssertion(eventId, severity, messageContains).build();
    }
Creates a matcher that ensures the validated result contains a validation event that
matches the given event ID, severity, and contains a specific string in the error message.

@param result Result to check for the shape ID.
@param eventId Event ID to find.
@param severity Severity to find.
@param messageContains Message contents to find.
@return Returns the created matcher.
smithy-model/src/test/java/software/amazon/smithy/model/ShapeMatcher.java