setUp(
      listenableFactoryFn, listenFn, unlistenFn, unlistenByKeyFn, listenOnceFn,
      dispatchEventFn, removeAllFn, getListenersFn, getListenerFn,
      hasListenerFn, listenKeyType, unlistenFnReturnType,
      objectListenerSupported) {
    listenableFactory = listenableFactoryFn;
    listen = listenFn;
    unlisten = unlistenFn;
    unlistenByKey = unlistenByKeyFn;
    listenOnce = listenOnceFn;
    dispatchEvent = dispatchEventFn;
    removeAll = removeAllFn;
    getListeners = getListenersFn;
    getListener = getListenerFn;
    hasListener = hasListenerFn;
    keyType = listenKeyType;
    unlistenReturnType = unlistenFnReturnType;
    objectTypeListenerSupported = objectListenerSupported;

    listeners = [];
    for (var i = 0; i < MAX_INSTANCE_COUNT; i++) {
      listeners[i] = createListener();
    }

    eventTargets = [];
    for (i = 0; i < MAX_INSTANCE_COUNT; i++) {
      eventTargets[i] = listenableFactory();
    }
  }
Setup step for the test functions. This needs to be called from the
test setUp.
@param {function():!GoogEventsListenable} listenableFactoryFn Function
    that will return a new Listenable instance each time it is called.
@param {Function} listenFn Function that, given the same signature
    as goog.events.listen, will add listener to the given event
    target.
@param {Function} unlistenFn Function that, given the same
    signature as goog.events.unlisten, will remove listener from
    the given event target.
@param {Function} unlistenByKeyFn Function that, given 2
    parameters: src and key, will remove the corresponding
    listener.
@param {Function} listenOnceFn Function that, given the same
    signature as goog.events.listenOnce, will add a one-time
    listener to the given event target.
@param {Function} dispatchEventFn Function that, given the same
    signature as goog.events.dispatchEvent, will dispatch the event
    on the given event target.
@param {Function} removeAllFn Function that, given the same
    signature as goog.events.removeAll, will remove all listeners
    according to the contract of goog.events.removeAll.
@param {Function} getListenersFn Function that, given the same
    signature as goog.events.getListeners, will retrieve listeners.
@param {Function} getListenerFn Function that, given the same
    signature as goog.events.getListener, will retrieve the
    listener object.
@param {Function} hasListenerFn Function that, given the same
    signature as goog.events.hasListener, will determine whether
    listeners exist.
@param {KeyType} listenKeyType The
    key type returned by listen call.
@param {UnlistenReturnType}
    unlistenFnReturnType
    Whether we should check return value from
    unlisten call. If unlisten does not return a value, this should
    be set to false.
@param {boolean} objectListenerSupported Whether listener of type
    Object is supported.