def METHOD_NAME(self):
    test_bin = os.path.join(test_location, "..", "..", "binaries", "tests", "x86_64", "scanf_multi_test")
    b = angr.Project(test_bin, auto_load_libs=False)
    pg = b.factory.simulation_manager()
    expected_outputs = {
        b"%%04x.%%04x.%%04x\n": Checker(
            [
                lambda x: int(x, 16) == 0xAAAA,
                lambda x: int(x, 16) == 0xBBBB,
                lambda x: int(x, 16) == 0xCCCC,
            ],
            base=16,
            multi=True,
            delimiter=".",
        ),
        b"%%04x.%%04x.%%04x and negative numbers\n": Checker(
            [lambda x: int(x, 16) == -0xCD] * 3,
            base=16,
            multi=True,
            delimiter=".",
        ),
        b"%%d.%%d.%%d\n": Checker(
            [lambda x: int(x, 10) == 133337, lambda x: int(x, 10) == 1337, lambda x: int(x, 10) == 13337],
            base=10,
            multi=True,
            delimiter=".",
        ),
        b"%%d.%%d.%%d and negative numbers\n": Checker(
            [lambda x: int(x, 10) == 2**32 - 1337] * 3,
            base=10,
            multi=True,
            delimiter=".",
        ),
        b"%%u\n": Checker(
            [lambda x: int(x) == 0xAAAA, lambda x: int(x) == 0xBBBB, lambda x: int(x) == 0xCCCC],
            base=10,
            multi=True,
            delimiter=".",
        ),
        b"%%u and negative numbers\n": Checker(
            [lambda s: int(s) == 2**32 - 0xCDCD] * 3,
            base=10,
            multi=True,
            delimiter=".",
        ),
        b"Unsupported switch\n": Checker(None, dummy=True),
    }
    pg.explore(
        find=0x40083E,
        avoid=(
            0x4006DB,
            0x400776,
            0x40080B,
        ),  # avoid all "nope N" branches
        num_find=len(expected_outputs),
    )
    # check the outputs
    total_outputs = 0
    for path in pg.found:
        path.posix.dumps(0)
        test_output = path.posix.dumps(1)
        if test_output in expected_outputs:
            assert expected_outputs[test_output].check(path), "Test case failed. Output is %s." % test_output
        total_outputs += 1
    # check that all of the outputs were seen
    assert total_outputs == len(expected_outputs)