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

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

        matcher = self._matchers[self._position]
        if matcher(item):
            self._position += 1

        if self._position == len(self._matchers):
            # All patterns have been matched
            return True

        return False