def run_all(assert_200):

  app_id = 'PoolBasedTripletMDS'
  num_objects = 30
  desired_dimension = 2
  x = numpy.linspace(0,1,num_objects)
  X_true = numpy.vstack([x,x]).transpose()
  total_pulls_per_client = 100

  num_experiments = 1

  # clients run in simultaneous fashion using multiprocessing library
  num_clients = 30

  pool = Pool(processes=num_clients)           


  # input test parameters
  n = num_objects
  d = desired_dimension
  delta = 0.01
  supported_alg_ids = ['RandomSampling','RandomSampling','UncertaintySampling','CrowdKernel', 'STE']

  alg_list = []
  for idx,alg_id in enumerate(supported_alg_ids):
    alg_item = {}
    alg_item['alg_id'] = alg_id
    if idx==0:
      alg_item['alg_label'] = 'Test'
    else:
      alg_item['alg_label'] = alg_id    
    alg_item['test_alg_label'] = 'Test'
    alg_item['params'] = {}
    alg_list.append(alg_item)
  params = {}
  params['proportions'] = []
  for algorithm in alg_list:
    params['proportions'].append(  { 'alg_label': algorithm['alg_label'] , 'proportion':len(alg_list) /1.}  )
  algorithm_management_settings = {}
  algorithm_management_settings['mode'] = 'fixed_proportions'
  algorithm_management_settings['params'] = params



  #################################################
  # Test POST Experiment
  #################################################
  initExp_args_dict = {}
  initExp_args_dict['args'] = {}
  initExp_args_dict['args']['n'] = n
  initExp_args_dict['args']['d'] = d
  initExp_args_dict['args']['failure_probability'] = delta
  initExp_args_dict['args']['participant_to_algorithm_management'] = 'one_to_many' # 'one_to_one'  #optional field
  initExp_args_dict['args']['algorithm_management_settings'] = algorithm_management_settings #optional field
  initExp_args_dict['args']['alg_list'] = alg_list #optional field
  initExp_args_dict['args']['instructions'] = 'You want instructions, here are your test instructions'
  initExp_args_dict['args']['debrief'] = 'You want a debrief, here is your test debrief'
  initExp_args_dict['args']['context_type'] = 'text'
  initExp_args_dict['args']['context'] = 'Boom baby triplet works'
  initExp_args_dict['app_id'] = app_id
  initExp_args_dict['site_id'] = 'replace this with working site id'
  initExp_args_dict['site_key'] = 'replace this with working site key'

  exp_info = []
  for ell in range(num_experiments):
    url = "http://"+HOSTNAME+"/api/experiment"
    response = requests.post(url, json.dumps(initExp_args_dict), headers={'content-type':'application/json'})
    print "POST initExp response =",response.text, response.status_code
    if assert_200: assert response.status_code is 200
    initExp_response_dict = json.loads(response.text)

    exp_uid = initExp_response_dict['exp_uid']
    exp_key = initExp_response_dict['exp_key']

    exp_info.append( {'exp_uid':exp_uid,'exp_key':exp_key} )

    #################################################
    # Test GET Experiment
    #################################################
    url = "http://"+HOSTNAME+"/api/experiment/"+exp_uid+"/"+exp_key
    response = requests.get(url)
    print "GET experiment response =",response.text, response.status_code
    if assert_200: assert response.status_code is 200
    initExp_response_dict = json.loads(response.text)



  ###################################
  # Generate participants
  ###################################

  participants = []
  pool_args = []
  for i in range(num_clients):
    participant_uid = '%030x' % random.randrange(16**30)
    participants.append(participant_uid)

    experiment = numpy.random.choice(exp_info)
    exp_uid = experiment['exp_uid']
    exp_key = experiment['exp_key']
    pool_args.append( (exp_uid,exp_key,participant_uid,total_pulls_per_client,X_true,assert_200) )

  results = pool.map(simulate_one_client, pool_args)

  for result in results:
    print result
dataset/ETHPy150Open nextml/NEXT/next/api/tests/test_api_triplet_multiprocessing.py/run_all/swapped operands of `/`