def METHOD_NAME(self, draw):
    in_shape = draw(
        st.lists(
            st.integers(
                min_value=1, max_value=10), min_size=0, max_size=4))
    value_data = draw(st.floats(min_value=-1, max_value=1))
    dtype = draw(st.sampled_from([-1, 2, 3, 5]))
    def generate_input(*args, **kwargs):
        if kwargs["type"] == "int32":
            return np.random.randint(kwargs["low"], kwargs["high"],
                                     kwargs["shape"]).astype(np.int32)
        elif kwargs["type"] == "int64":
            return np.random.randint(kwargs["low"], kwargs["high"],
                                     kwargs["shape"]).astype(np.int64)
        elif kwargs["type"] == "float32":
            if in_shape == []:
                return np.random.random(kwargs["shape"]).astype(np.float32)
            else:
                return (kwargs["high"] - kwargs["low"]) * np.random.random(
                    kwargs["shape"]).astype(np.float32) + kwargs["low"]
    input_type = draw(st.sampled_from(["float32", "int64", "int32"]))
    fill_any_like_op = OpConfig(
        type="fill_any_like",
        inputs={"X": ["input_data"]},
        outputs={"Out": ["output_data"]},
        attrs={"value": value_data,
               "dtype": dtype})
    program_config = ProgramConfig(
        ops=[fill_any_like_op],
        weights={},
        inputs={
            "input_data": TensorConfig(data_gen=partial(
                generate_input,
                type=input_type,
                low=-10,
                high=10,
                shape=in_shape))
        },
        outputs=["output_data"])
    return program_config