def mock_match(A, B):
    '\n    Checked for params on a mocked function is as expected\n\n    It is necesary as sometimes we get a tuple and at the mock data we have\n    lists.\n\n    Examples:\n    ```\n    >>> mock_match("A", "A")\n    True\n    >>> mock_match("A", "B")\n    False\n    >>> mock_match(["A", "B", "C"], ["A", "B", "C"])\n    True\n    >>> mock_match(["A", "B", "C"], "*")\n    True\n\n    ```\n    '
    if (B == '*'):
        return True
    if isinstance(A, (tuple, list)):
        return all((mock_match(a, b) for (a, b) in zip(A, B)))
    return (A == B)
Checked for params on a mocked function is as expected

It is necesary as sometimes we get a tuple and at the mock data we have
lists.

Examples:
```
>>> mock_match("A", "A")
True
>>> mock_match("A", "B")
False
>>> mock_match(["A", "B", "C"], ["A", "B", "C"])
True
>>> mock_match(["A", "B", "C"], "*")
True

```
def mock_match(A, B):
    '\n    Checked for params on a mocked function is as expected\n\n    It is necesary as sometimes we get a tuple and at the mock data we have\n    lists.\n\n    Examples:\n    ```\n    >>> mock_match("A", "A")\n    True\n    >>> mock_match("A", "B")\n    False\n    >>> mock_match(["A", "B", "C"], ["A", "B", "C"])\n    True\n    >>> mock_match(["A", "B", "C"], "*")\n    True\n\n    ```\n    '
    if (B == '*'):
        return True
    if isinstance(A, (tuple, list)):
        return all((mock_match(a, b) for (a, b) in zip(A, B)))
    return (A == B)