/**
  * @covers Guzzle\Service\ResourceIteratorApplyBatched
  */
 public function testSendsRequestsForNextSetOfResources()
 {
     $this->getServer()->flush();
     $this->getServer()->enqueue(array("HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"g\", \"resources\": [\"d\", \"e\", \"f\"] }", "HTTP/1.1 200 OK\r\nContent-Length: 52\r\n\r\n{ \"next_token\": \"j\", \"resources\": [\"g\", \"h\", \"i\"] }", "HTTP/1.1 200 OK\r\nContent-Length: 41\r\n\r\n{ \"next_token\": \"\", \"resources\": [\"j\"] }"));
     $ri = new MockResourceIterator($this->getServiceBuilder()->get('mock'), array('page_size' => 3, 'resources' => array('a', 'b', 'c'), 'next_token' => 'd'));
     $received = array();
     $apply = new ResourceIteratorApplyBatched($ri, function (ResourceIterator $i, array $batch) use(&$received) {
         $received[] = $batch;
     });
     $apply->apply(3);
     $requests = $this->getServer()->getReceivedRequests(true);
     $this->assertEquals(3, count($requests));
     $this->assertEquals(3, $requests[0]->getQuery()->get('count'));
     $this->assertEquals(3, $requests[1]->getQuery()->get('count'));
     $this->assertEquals(3, $requests[2]->getQuery()->get('count'));
     $this->assertEquals(array('a', 'b', 'c'), array_values($received[0]));
     $this->assertEquals(array('d', 'e', 'f'), array_values($received[1]));
     $this->assertEquals(array('g', 'h', 'i'), array_values($received[2]));
     $this->assertEquals(array('j'), array_values($received[3]));
     $this->assertEquals(4, $apply->getBatchCount());
     $this->assertEquals(10, $apply->getIteratedCount());
 }