code: function add(name, fn, options) {
        var suite = this,
            bench = new Benchmark(name, fn, options),
            event = Event({ 'type': 'add', 'target': bench });
  
        if (suite.emit(event), !event.cancelled) {
          suite.push(bench);
        }
        return suite;
      }
docs: Adds a test to the benchmark suite.
  
  @memberOf Benchmark.Suite
  @param {string} name A name to identify the benchmark.
  @param {Function|string} fn The test to benchmark.
  @param {Object} [options={}] Options object.
  @returns {Object} The suite instance.
  @example
  
  // basic usage
  suite.add(fn);
  
  // or using a name first
  suite.add('foo', fn);
  
  // or with options
  suite.add('foo', fn, {
  'onCycle': onCycle,
  'onComplete': onComplete
  });
  
  // or name and options
  suite.add('foo', {
  'fn': fn,
  'onCycle': onCycle,
  'onComplete': onComplete
  });
  
  // or options only
  suite.add({
  'name': 'foo',
  'fn': fn,
  'onCycle': onCycle,
  'onComplete': onComplete
  });