DSDSWeb/static/js/Cesium-1.53/Specs/DataSources/GeometryUpdaterSpec.js

124 lines
4.0 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'DataSources/GeometryUpdater',
'DataSources/Entity',
'Scene/PrimitiveCollection',
'Specs/createScene'
], function(
GeometryUpdater,
Entity,
PrimitiveCollection,
createScene) {
'use strict';
var scene;
beforeAll(function() {
scene = createScene();
});
afterAll(function() {
scene.destroyForSpecs();
});
it('Constructor throws if no Entity supplied', function() {
expect(function() {
return new GeometryUpdater({
entity : undefined,
scene : scene,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
}).toThrowDeveloperError();
});
it('Constructor throws if no scene supplied', function() {
expect(function() {
return new GeometryUpdater({
entity : new Entity(),
scene : undefined,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
}).toThrowDeveloperError();
});
it('Constructor throws if no geometryOptions supplied', function() {
expect(function() {
return new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : undefined,
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
}).toThrowDeveloperError();
});
it('Constructor throws if no geometryPropertyName supplied', function() {
expect(function() {
return new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : {},
geometryPropertyName : undefined,
observedPropertyNames : ['availability', 'box']
});
}).toThrowDeveloperError();
});
it('Constructor throws if no observedPropertyNames supplied', function() {
expect(function() {
return new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : undefined
});
}).toThrowDeveloperError();
});
it('createDynamicUpdater throws if not dynamic', function() {
var updater = new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
expect(function() {
return updater.createDynamicUpdater(new PrimitiveCollection(), new PrimitiveCollection());
}).toThrowDeveloperError();
});
it('createDynamicUpdater throws if primitives undefined', function() {
var updater = new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
updater._dynamic = true;
expect(function() {
return updater.createDynamicUpdater(undefined, new PrimitiveCollection());
}).toThrowDeveloperError();
});
it('createDynamicUpdater throws if groundPrimitives undefined', function() {
var updater = new GeometryUpdater({
entity : new Entity(),
scene : scene,
geometryOptions : {},
geometryPropertyName : 'box',
observedPropertyNames : ['availability', 'box']
});
updater._dynamic = true;
expect(function() {
return updater.createDynamicUpdater(new PrimitiveCollection(), undefined);
}).toThrowDeveloperError();
});
});