public Builder<S> addEventAssertion(String eventId, Severity severity, String messageContains) {
            return addAssertion(shape -> findEvent(result, eventId, shape.getId(), severity, messageContains),
                    shape -> "No event matched ID " + eventId + " on shape " + shape.getId()
                            + " with severity " + severity + " containing a message of '"
                            + messageContains + "'. Found the following events: "
                            + result.getValidationEvents());
        }
Add an assertion that the shape ID given to the matcher has a corresponding event with the
given ID, severity, and that the message contains the given string.

@param eventId Event ID to test.
@param severity Severity to expect.
@param messageContains Message contents to find.
@return Returns the builder.
smithy-model/src/test/java/software/amazon/smithy/model/ShapeMatcher.java