public static SmithyTestCase fromModelFile(String modelLocation) {
        String errorFileLocation = inferErrorFileLocation(modelLocation);
        List<ValidationEvent> expectedEvents = loadExpectedEvents(errorFileLocation);
        return new SmithyTestCase(modelLocation, expectedEvents);
    }
Creates a test case from a model file.

<p>The error file is expected to be stored in the same directory
as the model file and is assumed to be named the same as the
file with the file extension replaced with ".errors".

<p>The accompanying error file is a newline separated list of error
strings, where each error is defined in the following format:
{@code [SEVERITY] shapeId message | EventId filename:line:column}.
A shapeId of "-" means that a specific shape is not targeted.

@param modelLocation File location of the model.
@return Returns the created test case.
@throws IllegalArgumentException if the file does not contain an extension.
smithy-model/src/main/java/software/amazon/smithy/model/validation/testrunner/SmithyTestCase.java