verifyDelegation = function(sequence) {
            spyOn(sequence, name).andCallThrough();
            iterate(sequence[alias].apply(sequence, cases[0].params));
            expect(sequence[name]).toHaveBeenCalled();
          }
Tests many requirements of a sequence in one fell swoop. (See
comprehensiveTestCase for more details.) Also verifies that aliases
delegate properly.

@param {string} name The name of the method under test.
@param {Object} options A whole bunch of configuration options specifying
    what should be tested. Here are the important ones:

    {
      cases: [
        {
          input:  (the object, e.g., an array, to serve as the underlying
                   source of the sequence),
          params: (the parameters to pass to the method, called on a
                   sequence based on the underlying source),
          result: (the expected result of applying this method to the
                   sequence, after calling .value())
        },
        ...
      ],

      aliases: (an array of other names this method can be called by),
      arrayLike: (whether the result should provide indexed access),
      supportsAsync: (just what it sounds like)
    }