/**
  * @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');
 }
 /**
  * Creates a new queue under the storage account.
  * 
  * @param string             $queueName The queue name.
  * @param QueueCreateOptions $options   The Optional parameters.
  * 
  * @return none
  */
 public function createQueue($queueName, $options = null)
 {
     Validate::isString($queueName, 'queueName');
     Validate::notNullOrEmpty($queueName, 'queueName');
     $method = Resources::HTTP_PUT;
     $headers = array();
     $postParams = array();
     $queryParams = array();
     $path = $queueName;
     $statusCode = array(Resources::STATUS_CREATED, Resources::STATUS_NO_CONTENT);
     if (is_null($options)) {
         $options = new CreateQueueOptions();
     }
     $metadata = $options->getMetadata();
     $timeout = $options->getTimeout();
     $headers = $this->generateMetadataHeaders($metadata);
     $this->addOptionalQueryParam($queryParams, Resources::QP_TIMEOUT, $timeout);
     $this->send($method, $headers, $queryParams, $postParams, $path, $statusCode);
 }