public function setUp()
 {
     parent::setUp();
     if (!self::$isOneTimeSetup) {
         $this->doOneTimeSetup();
         self::$isOneTimeSetup = true;
     }
 }
 public static function tearDownAfterClass()
 {
     if (self::$isOneTimeSetup) {
         $testBase = new FunctionalTestBase();
         $testBase->setUp();
         foreach (TableServiceFunctionalTestData::$testTableNames as $name) {
             $testBase->safeDeleteTable($name);
         }
         self::$isOneTimeSetup = false;
     }
     parent::tearDownAfterClass();
 }