/**
  * @covers WindowsAzure\Table\Models\QueryTablesOptions::setTop
  * @covers WindowsAzure\Table\Models\QueryTablesOptions::getTop
  * @covers WindowsAzure\Table\Models\QueryTablesOptions::__construct
  */
 public function testSetTop()
 {
     // Setup
     $options = new QueryTablesOptions();
     $expected = 123;
     // Test
     $options->setTop($expected);
     // Assert
     $this->assertEquals($expected, $options->getTop());
 }
 /**
  * @covers WindowsAzure\Table\TableRestProxy::queryTables
  */
 private function queryTablesWorker($options)
 {
     try {
         $ret = is_null($options) ? $this->restProxy->queryTables() : $this->restProxy->queryTables($options);
         if (is_null($options)) {
             $options = new QueryTablesOptions();
         }
         if (!is_null($options->getTop()) && $options->getTop() <= 0) {
             if (Configuration::isEmulated()) {
                 $this->assertEquals(0, count($ret->getTables()), "should be no tables");
             } else {
                 $this->fail('Expect non-positive Top in $options to throw');
             }
         }
         $this->verifyqueryTablesWorker($ret, $options);
     } catch (ServiceException $e) {
         if (!is_null($options->getTop()) && $options->getTop() <= 0 && !Configuration::isEmulated()) {
             $this->assertEquals(400, $e->getCode(), 'getCode');
         } else {
             throw $e;
         }
     }
 }
 public function testCheckQueryTablesOptions()
 {
     $options = new QueryTablesOptions();
     $nextTableName = 'foo';
     $filter = new Filter();
     $this->assertNull($options->getNextTableName(), 'Default QueryTablesOptions->getNextTableName');
     $this->assertNotNull($options->getQuery(), 'Default QueryTablesOptions->getQuery');
     $options->setNextTableName($nextTableName);
     $options->setFilter($filter);
     $options->setTop(10);
     $this->assertEquals($nextTableName, $options->getNextTableName(), 'Set QueryTablesOptions->getNextTableName');
     $this->assertEquals($filter, $options->getFilter(), 'Set QueryTablesOptions->getFilter');
     $this->assertEquals($filter, $options->getQuery()->getFilter(), 'Set QueryTablesOptions->getQuery->getFilter');
     $this->assertEquals(10, $options->getTop(), 'Set QueryTablesOptions->getTop');
     $this->assertEquals(10, $options->getQuery()->getTop(), 'Set QueryTablesOptions->getQuery->getTop');
 }