hunk.code_window:     expectObservableArray(e1.partition(predicate), expected);
       expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);
     });
     it('should pass errors to both returned observables', () => {
       const e1 =    hot('--a-b---#');
       const e1subs =    '^       !';
       const expected = ['--a-----#',
  
hunk.labels: keep keep keep add keep keep keep keep
hunk.after_edit:   it('should partition an observable into two using a predicate and thisArg', () => {
       const e1 =    hot('--a-b---a------d--a---c--|');
       const e1subs =    '^                        !';
       const expected = ['--a-----a---------a------|',
                       '----b----------d------c--|'];
       function predicate(x) {
         return x === this.value;
       }
       expectObservableArray(e1.partition(predicate, {value: 'a'}), expected);
       expectSubscriptions(e1.subscriptions).toBe([e1subs, e1subs]);
     });
  
hunk.file_path: spec/operators/partition-spec.ts
hunk.type: add
file: import { Scheduler } from '../Scheduler';
  import { SubscriptionLog } from './SubscriptionLog';
  
  export class SubscriptionLoggable {
    public subscriptions: SubscriptionLog[] = [];
    scheduler: Scheduler;
  
    logSubscribedFrame(): number {
      this.subscriptions.push(new SubscriptionLog(this.scheduler.now()));
      return this.subscriptions.length - 1;
    }
  
    logUnsubscribedFrame(index: number) {
      const subscriptionLogs = this.subscriptions;
      const oldSubscriptionLog = subscriptionLogs[index];
      subscriptionLogs[index] = new SubscriptionLog(
        oldSubscriptionLog.subscribedFrame,
        this.scheduler.now()
      );
    }
  }
  