class_docstr: Run some generic sanity-checks of a suggest algorithm to make sure that
  it respects the semantics expected by e.g. fmin.
  
  Use it like this:
  
      TestRand = Suggest_API.make_test_class(rand.suggest, 'TestRand')
code: def idxs_vals_from_ids(self, ids, seed):
      docs = self.suggest(ids, self.domain, Trials(), seed)
      trials = trials_from_docs(docs)
      idxs, vals = miscs_to_idxs_vals(trials.miscs)
      return idxs, vals
  
imports: import copy
  import unittest
  import numpy
  import bson
  from hyperopt.pyll import scope
  from hyperopt.base import JOB_STATE_DONE, JOB_STATE_NEW
  from hyperopt.base import TRIAL_KEYS
  from hyperopt.base import TRIAL_MISC_KEYS
  from hyperopt.base import InvalidTrial
  from hyperopt.base import miscs_to_idxs_vals
  from hyperopt.base import SONify
  from hyperopt.base import STATUS_OK
  from hyperopt.base import Trials
  from hyperopt.base import trials_from_docs
  from hyperopt.exceptions import AllTrialsFailed
label_desc: Use image node_id 2 for calling the Suggest_API obj's underlying member method code with example usage: obj.idxs_vals_from_ids(ids, seed) and returns: idxs,  vals