124 lines
4.0 KiB
JavaScript
124 lines
4.0 KiB
JavaScript
|
|
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();
|
||
|
|
});
|
||
|
|
});
|