@Override
    public String getMessageFromTest() {
        if (isCorrectSoFar) {
            return SUCCESS_STRING;
        } else {
            final String errorString = expectedProgramBehaviorCopy.getErrorString();
            if ("".equals(errorString)) {
                throw new IllegalStateException("message from test is empty; almost certainly getMessageFromTest was called before running any test.");
            }
            return errorString;
        }
    }