/**
  * @covers MicrosoftAzure\Storage\Queue\Models\CreateQueueOptions::addMetadata
  */
 public function testAddMetadata()
 {
     // Setup
     $queue = new CreateQueueOptions();
     $key = 'key1';
     $value = 'value1';
     $expected = array($key => $value);
     // Test
     $queue->addMetadata($key, $value);
     // Assert
     $this->assertEquals($expected, $queue->getMetadata());
 }
 public function testCheckCreateQueueOptions()
 {
     $options = new CreateQueueOptions();
     $this->assertNull($options->getMetadata(), 'Default CreateQueueOptions->getMetadata');
     $this->assertEquals(0, count($options->getMetadata()), 'Default CreateQueueOptions->getMetadata->size');
     $this->assertNull($options->getTimeout(), 'Default CreateQueueOptions->getTimeout');
     $metadata = array('foo' => 'bar', 'baz' => 'bat');
     $options->setMetadata($metadata);
     $options->setTimeout(-10);
     $this->assertEquals($options->getMetadata(), $metadata, 'Set CreateQueueOptions->getMetadata');
     $this->assertEquals(2, count($options->getMetadata()), 'Set CreateQueueOptions->getMetadata->size');
     $this->assertEquals(-10, $options->getTimeout(), 'Set CreateQueueOptions->getTimeout');
     $options->addMetadata('aaa', 'bbb');
     $this->assertEquals(3, count($options->getMetadata()), 'Set CreateQueueOptions->getMetadata->size');
 }
 /**
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::createQueue
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::deleteQueue
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::getQueueMetadata
  */
 public function testCreateQueueWithOptionsWorks()
 {
     // Arrange
     // Act
     $opts = new CreateQueueOptions();
     $opts->addMetadata('foo', 'bar');
     $opts->addMetadata('test', 'blah');
     $this->restProxy->createQueue(self::$creatableQueue2, $opts);
     $result = $this->restProxy->getQueueMetadata(self::$creatableQueue2);
     $this->restProxy->deleteQueue(self::$creatableQueue2);
     // Assert
     $this->assertNotNull($result, '$result');
     $this->assertEquals(0, $result->getApproximateMessageCount(), '$result->getApproximateMessageCount');
     $this->assertNotNull($result->getMetadata(), '$result->getMetadata');
     $this->assertEquals(2, count($result->getMetadata()), 'count($result->getMetadata');
     $metadata = $result->getMetadata();
     $this->assertEquals('bar', $metadata['foo'], '$metadata[foo]');
     $this->assertEquals('blah', $metadata['test'], '$metadata[test]');
 }
 /**
  * @covers MicrosoftAzure\Storage\Queue\QueueRestProxy::createQueue
  */
 public function testCreateQueueWithMetadata()
 {
     $queueName = 'createqueuewithmetadata';
     $metadataName = 'Name';
     $metadataValue = 'MyName';
     $queueCreateOptions = new CreateQueueOptions();
     $queueCreateOptions->addMetadata($metadataName, $metadataValue);
     // Test
     $this->createQueue($queueName, $queueCreateOptions);
     // Assert
     $options = new ListQueuesOptions();
     $options->setIncludeMetadata(true);
     $result = $this->restProxy->listQueues($options);
     $queues = $result->getQueues();
     $metadata = $queues[0]->getMetadata();
     $this->assertEquals($metadataValue, $metadata[$metadataName]);
 }