     before (done) ->
       collectF(src, events, done)
     it "outputs expected value in order", ->
-      expect(events).to.deep.equal(toValues(expectedEvents))
+      expect(toValues(events)).to.deep.equal(toValues(expectedEvents))
     it "the stream is exhausted", ->
        verifyExhausted src
     it "cleans up observers", verifyCleanup

  it "has correct final state", ->
    verifyFinalState(property, lastNonError(expectedEvents))
  it "cleans up observers", verifyCleanup

verifySingleSubscriber = (srcF, expectedEvents) ->
  verifyStreamWith "(single subscriber)", srcF, expectedEvents, (src, events, done) ->

    relativeTime = () -> 
      Math.floor(now() - t0)
    withRelativeTime = (x) -> [relativeTime(), x]
    src().flatMap(withRelativeTime)
  @expectStreamEvents(srcWithRelativeTime, expectedEventsAndTimings, options)

@expectStreamEvents = (src, expectedEvents, {unstable} = {}) ->
  verifySingleSubscriber src, expectedEvents
  verifyLateEval src, expectedEvents
  if not unstable
    verifySwitching src, expectedEvents unless browser
    verifySwitchingWithUnsub src, expectedEvents unless browser
