def METHOD_NAME(route, path, method):
    """Test if route pattern matches given request path"""
    finder_pattern = _make_finder_pattern(route.pattern)
    # if same method and matching pattern
    if route.method == method \
            and re.match(finder_pattern, path):
        # check variable data types
        # e.g. paths below are different
        # api/v1/posts/<int:pid> matches
        #     api/v1/posts/12
        # api/v1/posts/<int:pid> does not match
        #     api/v1/posts/661a4f7a-7377-11ea-9494-acde48001122
        for key, val in zip(
                _find_pattern_keys(route.pattern),
                _find_pattern_values(finder_pattern, path)
            ):
            if ROUTE_VAR_SEP in key:
                cast, key = key.split(ROUTE_VAR_SEP)
                try:
                    val = _cast_value(cast, val)
                except Exception:
                    # if any of variable types does not match, say no
                    return False
        # if all variable types matched, say yes
        return True
    # otherwise say no
    return False