Return ``True`` if the expected matchers are matched in any order,
        otherwise ``False``.

def match(self, item):
        """
        Return ``True`` if the expected matchers are matched in any order,
        otherwise ``False``.
        """
        if not self._unused_matchers:
            raise RuntimeError('Matcher exhausted, no more matchers to use')

        for matcher in self._unused_matchers:
            if matcher(item):
                self._used_matchers.append(matcher)
                break

        if not self._unused_matchers:
            # All patterns have been matched
            return True

        return False