ComponentKitTests/StatefulViews/CKStatefulViewReusePoolTests.mm [308:331]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  UIView *container2 = [[UIView alloc] init];
  CKTestStatefulView *view2 = [[CKTestStatefulView alloc] init];
  [container2 addSubview:view2];
  [pool enqueueStatefulView:view2
         forControllerClass:[CKOtherStatefulViewComponentController class]
                    context:nil
         mayRelinquishBlock:^BOOL{
           calledBlockCount++;
           return YES;
         }];

  CKRunRunLoopUntilBlockIsTrue(^BOOL{
    return calledBlockCount == 1;
  });

  UIView *dequeuedView1 = [pool dequeueStatefulViewForControllerClass:[CKStatefulViewComponentWithInvalidContextController class]
                                                  preferredSuperview:container1
                                                             context:nil];
  XCTAssertTrue(dequeuedView1 == nil, @"Expected nil to be returned, since context is invalid");

  UIView *dequeuedView2 = [pool dequeueStatefulViewForControllerClass:[CKOtherStatefulViewComponentController class]
                                                   preferredSuperview:container2
                                                              context:nil];
  XCTAssertTrue(dequeuedView2 == view2, @"View with valid context should be returned");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ComponentKitTests/StatefulViews/CKStatefulViewReusePoolTests.mm [354:377]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  UIView *container2 = [[UIView alloc] init];
  CKTestStatefulView *view2 = [[CKTestStatefulView alloc] init];
  [container2 addSubview:view2];
  [pool enqueueStatefulView:view2
         forControllerClass:[CKOtherStatefulViewComponentController class]
                    context:nil
         mayRelinquishBlock:^BOOL{
           calledBlockCount++;
           return YES;
         }];

  CKRunRunLoopUntilBlockIsTrue(^BOOL{
    return calledBlockCount == 1;
  });

  UIView *dequeuedView1 = [pool dequeueStatefulViewForControllerClass:[CKStatefulViewComponentWithInvalidContextController class]
                                                  preferredSuperview:container1
                                                             context:nil];
  XCTAssertTrue(dequeuedView1 == nil, @"Expected nil to be returned, since context is invalid");

  UIView *dequeuedView2 = [pool dequeueStatefulViewForControllerClass:[CKOtherStatefulViewComponentController class]
                                                   preferredSuperview:container2
                                                              context:nil];
  XCTAssertTrue(dequeuedView2 == view2, @"View with valid context should be returned");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



