text: /*global defineSuite*/
  defineSuite([
          'Core/EllipsoidTerrainProvider',
          'Core/TerrainProvider',
          'Specs/createContext'
      ], function(
          EllipsoidTerrainProvider,
          TerrainProvider,
          createContext) {
      'use strict';
  
      var context;
  
      beforeAll(function() {
          context = createContext();
      });
  
      afterAll(function() {
          context.destroyForSpecs();
      });
  
      it('conforms to TerrainProvider interface', function() {
          expect(EllipsoidTerrainProvider).toConformToInterface(TerrainProvider);
      });
  
      it('resolves readyPromise', function() {
          var provider = new EllipsoidTerrainProvider();
  
          return provider.readyPromise.then(function (result) {
              expect(result).toBe(true);
              expect(provider.ready).toBe(true);
          });
      });
  
      it('requestTileGeometry creates terrain data.', function() {
          var terrain = new EllipsoidTerrainProvider();
          var terrainData = terrain.requestTileGeometry(0, 0, 0);
          expect(terrainData).toBeDefined();
      });
  
      it('has error event', function() {
          var provider = new EllipsoidTerrainProvider();
          expect(provider.errorEvent).toBeDefined();
          expect(provider.errorEvent).toBe(provider.errorEvent);
      });
  
      it('returns undefined on getTileDataAvailable()', function() {
          var provider = new EllipsoidTerrainProvider();
          expect(provider.getTileDataAvailable()).toBeUndefined();
      });
  }, 'WebGL');
  