public function testSubscriptions()
{
$subscriptionResult = [['name' => 'projects/project/subscriptions/subscription-a', 'topic' => 'projects/project/topics/topic-a'], ['name' => 'projects/project/subscriptions/subscription-b', 'topic' => 'projects/project/topics/topic-a'], ['name' => 'projects/project/subscriptions/subscription-c', 'topic' => 'projects/project/topics/topic-a']];
$this->connection->listSubscriptions(Argument::withEntry('foo', 'bar'))->willReturn(['subscriptions' => $subscriptionResult])->shouldBeCalledTimes(1);
$this->client->setConnection($this->connection->reveal());
$subscriptions = $this->client->subscriptions(['foo' => 'bar']);
$this->assertInstanceOf(Generator::class, $subscriptions);
$arr = iterator_to_array($subscriptions);
$this->assertInstanceOf(Subscription::class, $arr[0]);
$this->assertEquals($arr[0]->info()['name'], $subscriptionResult[0]['name']);
$this->assertEquals($arr[1]->info()['name'], $subscriptionResult[1]['name']);
$this->assertEquals($arr[2]->info()['name'], $subscriptionResult[2]['name']);
}