def METHOD_NAME(self, path):
    if self._dummy:
        return True
    if not isinstance(path.posix.stdin, angr.storage.file.SimPacketsStream):
        raise TypeError("This test case only supports SimPacketsStream-type of stdin.")
    if not self._multi:
        stdin_input = path.posix.stdin.content[1][0]  # skip the first char used in switch
    else:
        stdin_input = claripy.Concat(*[part[0] for part in path.posix.stdin.content[1:]])
    some_strings = path.solver.eval_upto(stdin_input, 1000, cast_to=bytes)
    some_strings = [x.decode() for x in some_strings]
    check_passes = False
    for s in some_strings:
        if self._length is not None:
            s = s[: self._length]
        if not self._multi:
            # single part
            component = self._extract_integer(s)
            if self._check_func(component):
                check_passes = True
                break
        else:
            # multiple parts
            substrs = s.split(self._delimiter)
            if len(substrs) != len(self._check_func):
                continue
            components = [self._extract_integer(substr) for substr in substrs]
            if all(func(component) for func, component in zip(self._check_func, components)):
                check_passes = True
                break
    return check_passes