def METHOD_NAME(mps_binary, network_path, expected_result, arguments=None):
    '''
    Run marabou and assert the result is according to the expected_result
    :param marabou_binary: path to marabou executable
    :param network_path: path to nnet file to pass too marabou
    :param property_path: path to property file to pass to marabou to verify
    :param expected_result: sat / unsat
    :param arguments list of arguments to pass to Marabou (for example DnC mode)
    :return: True / False if test pass or not
    '''
    if not os.access(mps_binary, os.X_OK):
        sys.exit(
            '"{}" does not exist or is not executable'.format(mps_binary))
    if not os.path.isfile(network_path):
        sys.exit('"{}" does not exist or is not a file'.format(network_path))
    if expected_result not in {'sat', 'unsat'}:
        sys.exit('"{}" is not a marabou supported result'.format(expected_result))
    args = [mps_binary, network_path]
    if isinstance(arguments, list):
        args += arguments
    out, err, exit_status = run_process(args, os.curdir, DEFAULT_TIMEOUT)
    return analyze_process_result(out, err, exit_status, expected_result)