getMock('Guzzle\Batch\Batch', array('flush'), array( $this->getMock('Guzzle\Batch\BatchTransferInterface'), $this->getMock('Guzzle\Batch\BatchDivisorInterface') )); $batch->expects($this->once()) ->method('flush') ->will($this->returnValue(array('foo', 'baz'))); $data = array(); $decorator = new NotifyingBatch($batch, function ($batch) use (&$data) { $data[] = $batch; }); $decorator->add('foo')->add('baz'); $decorator->flush(); $this->assertEquals(array(array('foo', 'baz')), $data); } /** * @expectedException Guzzle\Common\Exception\InvalidArgumentException */ public function testEnsuresCallableIsValid() { $batch = new Batch( $this->getMock('Guzzle\Batch\BatchTransferInterface'), $this->getMock('Guzzle\Batch\BatchDivisorInterface') ); $decorator = new NotifyingBatch($batch, 'foo'); } }