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

5946 lines
435 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'DataSources/CzmlDataSource',
'Core/BoundingRectangle',
'Core/Cartesian2',
'Core/Cartesian3',
'Core/Cartographic',
'Core/ClockRange',
'Core/ClockStep',
'Core/Color',
'Core/CornerType',
'Core/DistanceDisplayCondition',
'Core/Ellipsoid',
'Core/Event',
'Core/ExtrapolationType',
'Core/Iso8601',
'Core/JulianDate',
'Core/Math',
'Core/NearFarScalar',
'Core/Quaternion',
'Core/Rectangle',
'Core/ReferenceFrame',
'Core/Resource',
'Core/RuntimeError',
'Core/Spherical',
'Core/TimeInterval',
'Core/Transforms',
'Core/TranslationRotationScale',
'DataSources/CompositeEntityCollection',
'DataSources/EntityCollection',
'DataSources/ReferenceProperty',
'DataSources/StripeOrientation',
'Scene/ColorBlendMode',
'Scene/HeightReference',
'Scene/HorizontalOrigin',
'Scene/LabelStyle',
'Scene/ShadowMode',
'Scene/VerticalOrigin',
'ThirdParty/when'
], function(
CzmlDataSource,
BoundingRectangle,
Cartesian2,
Cartesian3,
Cartographic,
ClockRange,
ClockStep,
Color,
CornerType,
DistanceDisplayCondition,
Ellipsoid,
Event,
ExtrapolationType,
Iso8601,
JulianDate,
CesiumMath,
NearFarScalar,
Quaternion,
Rectangle,
ReferenceFrame,
Resource,
RuntimeError,
Spherical,
TimeInterval,
Transforms,
TranslationRotationScale,
CompositeEntityCollection,
EntityCollection,
ReferenceProperty,
StripeOrientation,
ColorBlendMode,
HeightReference,
HorizontalOrigin,
LabelStyle,
ShadowMode,
VerticalOrigin,
when) {
'use strict';
function makePacket(packet) {
return [{
id : 'document',
version : '1.0'
}, packet];
}
var staticCzml = {
'id' : 'test',
'billboard' : {
'show' : true
}
};
var czmlDelete = {
'id' : 'test',
'delete' : true
};
var dynamicCzml = {
id : 'test',
availability : '2000-01-01/2001-01-01',
billboard : {
show : true
}
};
var clockCzml = {
id : 'document',
version : '1.0',
clock : {
interval : '2012-03-15T10:00:00Z/2012-03-16T10:00:00Z',
currentTime : '2012-03-15T10:00:00Z',
multiplier : 60.0,
range : 'LOOP_STOP',
step : 'SYSTEM_CLOCK_MULTIPLIER'
}
};
var clockCzml2 = {
id : 'document',
version : '1.0',
clock : {
interval : '2013-03-15T10:00:00Z/2013-03-16T10:00:00Z',
currentTime : '2013-03-15T10:00:00Z',
multiplier : 30.0,
range : 'UNBOUNDED',
step : 'TICK_DEPENDENT'
}
};
var parsedClock = {
interval : TimeInterval.fromIso8601({
iso8601 : clockCzml.clock.interval
}),
currentTime : JulianDate.fromIso8601(clockCzml.clock.currentTime),
multiplier : clockCzml.clock.multiplier,
range : ClockRange[clockCzml.clock.range],
step : ClockStep[clockCzml.clock.step]
};
var parsedClock2 = {
interval : TimeInterval.fromIso8601({
iso8601 : clockCzml2.clock.interval
}),
currentTime : JulianDate.fromIso8601(clockCzml2.clock.currentTime),
multiplier : clockCzml2.clock.multiplier,
range : ClockRange[clockCzml2.clock.range],
step : ClockStep[clockCzml2.clock.step]
};
var nameCzml = {
id : 'document',
version : '1.0',
name : 'czmlName'
};
var simple;
var simpleUrl = 'Data/CZML/simple.czml';
var vehicle;
var vehicleUrl = 'Data/CZML/Vehicle.czml';
beforeAll(function() {
return when.join(
Resource.fetchJson(simpleUrl).then(function(result) {
simple = result;
}),
Resource.fetchJson(vehicleUrl).then(function(result) {
vehicle = result;
}));
});
it('default constructor has expected values', function() {
var dataSource = new CzmlDataSource();
expect(dataSource.changedEvent).toBeInstanceOf(Event);
expect(dataSource.errorEvent).toBeInstanceOf(Event);
expect(dataSource.name).toBeUndefined();
expect(dataSource.clock).toBeUndefined();
expect(dataSource.entities).toBeInstanceOf(EntityCollection);
expect(dataSource.entities.values.length).toEqual(0);
expect(dataSource.show).toBe(true);
});
it('show sets underlying entity collection show.', function() {
var dataSource = new CzmlDataSource();
dataSource.show = false;
expect(dataSource.show).toBe(false);
expect(dataSource.show).toEqual(dataSource.entities.show);
dataSource.show = true;
expect(dataSource.show).toBe(true);
expect(dataSource.show).toEqual(dataSource.entities.show);
});
it('name returns CZML defined name', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(nameCzml).then(function(dataSource) {
expect(dataSource.name).toEqual('czmlName');
});
});
it('name uses source name if CZML name is undefined', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(clockCzml, {
sourceUri: 'Gallery/simple.czml?asd=true'
}).then(function(dataSource) {
expect(dataSource.name).toEqual('simple.czml');
});
});
it('does not overwrite existing name if CZML name is undefined', function() {
var dataSource = new CzmlDataSource('myName');
return dataSource.load(clockCzml, {
sourceUri: 'Gallery/simple.czml'
}).then(function(dataSource) {
expect(dataSource.name).toEqual('myName');
});
});
it('clock returns undefined for static CZML', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(staticCzml)).then(function(dataSource) {
expect(dataSource.clock).toBeUndefined();
});
});
it('clock returns CZML defined clock', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(clockCzml).then(function(dataSource) {
var clock = dataSource.clock;
expect(clock).toBeDefined();
expect(clock.startTime).toEqual(parsedClock.interval.start);
expect(clock.stopTime).toEqual(parsedClock.interval.stop);
expect(clock.currentTime).toEqual(parsedClock.currentTime);
expect(clock.clockRange).toEqual(parsedClock.range);
expect(clock.clockStep).toEqual(parsedClock.step);
expect(clock.multiplier).toEqual(parsedClock.multiplier);
return dataSource.process(clockCzml2);
}).then(function(dataSource) {
var clock = dataSource.clock;
expect(clock).toBeDefined();
expect(clock.startTime).toEqual(parsedClock2.interval.start);
expect(clock.stopTime).toEqual(parsedClock2.interval.stop);
expect(clock.currentTime).toEqual(parsedClock2.currentTime);
expect(clock.clockRange).toEqual(parsedClock2.range);
expect(clock.clockStep).toEqual(parsedClock2.step);
expect(clock.multiplier).toEqual(parsedClock2.multiplier);
});
});
it('clock returns data interval if no clock defined', function() {
var interval = TimeInterval.fromIso8601({
iso8601 : dynamicCzml.availability
});
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(dynamicCzml)).then(function(dataSource) {
var clock = dataSource.clock;
expect(clock).toBeDefined();
expect(clock.startTime).toEqual(interval.start);
expect(clock.stopTime).toEqual(interval.stop);
expect(clock.currentTime).toEqual(interval.start);
expect(clock.clockRange).toEqual(ClockRange.LOOP_STOP);
expect(clock.clockStep).toEqual(ClockStep.SYSTEM_CLOCK_MULTIPLIER);
expect(clock.multiplier).toEqual(JulianDate.secondsDifference(interval.stop, interval.start) / 120.0);
});
});
it('process loads expected data', function() {
var dataSource = new CzmlDataSource();
return dataSource.process(simple).then(function(dataSource) {
expect(dataSource.entities.values.length).toEqual(10);
});
});
it('process loads expected data from Resource', function() {
var dataSource = new CzmlDataSource();
return dataSource.process(new Resource({
url: simpleUrl
})).then(function(dataSource) {
expect(dataSource.entities.values.length).toEqual(10);
});
});
it('process loads data on top of existing', function() {
var dataSource = new CzmlDataSource();
return dataSource.process(simple).then(function(dataSource) {
expect(dataSource.entities.values.length === 10);
return dataSource.process(vehicle, vehicleUrl);
}).then(function(dataSource) {
expect(dataSource.entities.values.length === 11);
});
});
it('load replaces data', function() {
var dataSource = new CzmlDataSource();
return dataSource.process(simple).then(function(dataSource) {
expect(dataSource.entities.values.length).toEqual(10);
return dataSource.load(vehicle, vehicleUrl);
}).then(function(dataSource) {
expect(dataSource.entities.values.length).toEqual(1);
});
});
it('process throws with undefined CZML', function() {
var dataSource = new CzmlDataSource();
expect(function() {
dataSource.process(undefined);
}).toThrowDeveloperError();
});
it('load throws with undefined CZML', function() {
var dataSource = new CzmlDataSource();
expect(function() {
dataSource.load(undefined);
}).toThrowDeveloperError();
});
it('raises changed event when loading CZML', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('changedEvent');
dataSource.changedEvent.addEventListener(spy);
return dataSource.load(clockCzml).then(function(dataSource) {
expect(spy).toHaveBeenCalledWith(dataSource);
});
});
it('raises changed event when name changes in CZML', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('changedEvent');
var originalCzml = {
id : 'document',
version : '1.0',
name : 'czmlName'
};
return dataSource.load(originalCzml).then(function(dataSource) {
dataSource.changedEvent.addEventListener(spy);
var newCzml = {
id : 'document',
name : 'newCzmlName'
};
return dataSource.process(newCzml);
}).then(function(dataSource) {
expect(spy).toHaveBeenCalledWith(dataSource);
});
});
it('does not raise changed event when name does not change in CZML', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('changedEvent');
return dataSource.load(nameCzml).then(function(dataSource) {
dataSource.changedEvent.addEventListener(spy);
return dataSource.load(nameCzml);
}).then(function(dataSource) {
expect(spy).not.toHaveBeenCalled();
});
});
it('raises changed event when clock changes in CZML', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('changedEvent');
var originalCzml = {
id : 'document',
version : '1.0',
clock : {
interval : '2012-03-15T10:00:00Z/2012-03-16T10:00:00Z',
currentTime : '2012-03-15T10:00:00Z',
multiplier : 60.0,
range : 'LOOP_STOP',
step : 'SYSTEM_CLOCK_MULTIPLIER'
}
};
return dataSource.load(originalCzml).then(function(dataSource) {
dataSource.changedEvent.addEventListener(spy);
var newCzml = {
id: 'document',
version: '1.0',
clock : {
interval : '2013-03-15T10:00:00Z/2013-03-16T10:00:00Z',
currentTime : '2012-03-15T10:00:00Z',
multiplier : 60.0,
range : 'LOOP_STOP',
step : 'SYSTEM_CLOCK_MULTIPLIER'
}
};
return dataSource.load(newCzml);
}).then(function(dataSource) {
expect(spy).toHaveBeenCalledWith(dataSource);
});
});
it('does not raise changed event when clock does not change in CZML', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('changedEvent');
return dataSource.load(clockCzml).then(function(dataSource) {
dataSource.changedEvent.addEventListener(spy);
return dataSource.load(clockCzml);
}).then(function(dataSource) {
expect(spy).not.toHaveBeenCalled();
});
});
it('raises error when an error occurs in load', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('errorEvent');
dataSource.errorEvent.addEventListener(spy);
// Blue.png is not JSON
return dataSource.load('Data/Images/Blue.png').then(function() {
fail('should not be called');
}).otherwise(function() {
expect(spy).toHaveBeenCalledWith(dataSource, jasmine.any(Error));
});
});
it('raises error when an error occurs in process', function() {
var dataSource = new CzmlDataSource();
var spy = jasmine.createSpy('errorEvent');
dataSource.errorEvent.addEventListener(spy);
// Blue.png is not JSON
return dataSource.process('Data/Images/Blue.png').then(function() {
fail('should not be called');
}).otherwise(function() {
expect(spy).toHaveBeenCalledWith(dataSource, jasmine.any(Error));
});
});
it('CZML adds data for infinite billboard.', function() {
var sourceUri = 'http://someImage.invalid/';
var billboardPacket = {
billboard : {
image : 'image.png',
scale : 1.0,
rotation : 1.3,
heightReference: 'CLAMP_TO_GROUND',
horizontalOrigin : 'CENTER',
verticalOrigin : 'CENTER',
color : {
rgbaf : [1.0, 1.0, 1.0, 1.0]
},
eyeOffset : {
cartesian : [3.0, 4.0, 5.0]
},
pixelOffset : {
cartesian2 : [1.0, 2.0]
},
alignedAxis : {
unitCartesian : [1.0, 0.0, 0.0]
},
show : true,
sizeInMeters : false,
width : 10,
height : 11,
scaleByDistance : {
nearFarScalar : [1.0, 2.0, 10000.0, 3.0]
},
translucencyByDistance : {
nearFarScalar : [1.0, 1.0, 10000.0, 0.0]
},
pixelOffsetScaleByDistance : {
nearFarScalar : [1.0, 20.0, 10000.0, 30.0]
},
imageSubRegion : {
boundingRectangle : [20, 30, 10, 11]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket), {
sourceUri: sourceUri
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
expect(entity.billboard.image.getValue(Iso8601.MINIMUM_VALUE).url).toEqual(sourceUri + 'image.png');
expect(entity.billboard.rotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(billboardPacket.billboard.rotation);
expect(entity.billboard.scale.getValue(Iso8601.MINIMUM_VALUE)).toEqual(billboardPacket.billboard.scale);
expect(entity.billboard.heightReference.getValue(Iso8601.MINIMUM_VALUE)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(entity.billboard.horizontalOrigin.getValue(Iso8601.MINIMUM_VALUE)).toEqual(HorizontalOrigin.CENTER);
expect(entity.billboard.verticalOrigin.getValue(Iso8601.MINIMUM_VALUE)).toEqual(VerticalOrigin.CENTER);
expect(entity.billboard.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(1.0, 1.0, 1.0, 1.0));
expect(entity.billboard.eyeOffset.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(3.0, 4.0, 5.0));
expect(entity.billboard.pixelOffset.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian2(1.0, 2.0));
expect(entity.billboard.alignedAxis.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 0.0, 0.0));
expect(entity.billboard.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.billboard.sizeInMeters.getValue(Iso8601.MINIMUM_VALUE)).toEqual(false);
expect(entity.billboard.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(10);
expect(entity.billboard.height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(11);
expect(entity.billboard.scaleByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 2.0, 10000.0, 3.0));
expect(entity.billboard.translucencyByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 1.0, 10000.0, 0.0));
expect(entity.billboard.pixelOffsetScaleByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 20.0, 10000.0, 30.0));
expect(entity.billboard.imageSubRegion.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new BoundingRectangle(20, 30, 10, 11));
});
});
it('can handle aligned axis expressed as a cartesian', function() {
// historically, CZML allowed alignedAxis to be defined as a cartesian, even though that implied it could be
// non-unit magnitude (it can't).
// but, we need to ensure that continues to work.
var billboardPacket = {
billboard : {
alignedAxis : {
cartesian : [1.0, 0.0, 0.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
expect(entity.billboard.alignedAxis.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 0.0, 0.0));
});
});
it('can handle aligned axis expressed as a velocity reference', function() {
var packet = {
'position' : {
'epoch' : '2016-06-17T12:00:00Z',
'cartesian' : [0, 1, 2, 3,
60, 61, 122, 183]
},
'billboard' : {
'alignedAxis' : {
'velocityReference' : '#position'
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var property = entity.billboard.alignedAxis;
var expectedVelocity = new Cartesian3(1.0, 2.0, 3.0);
var expectedVelocityDirection = Cartesian3.normalize(expectedVelocity, new Cartesian3());
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:00Z'))).toEqualEpsilon(expectedVelocityDirection, CesiumMath.EPSILON15);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:30Z'))).toEqualEpsilon(expectedVelocityDirection, CesiumMath.EPSILON15);
});
});
it('can handle aligned axis expressed as a velocity reference within an interval', function() {
var packet = {
'position': {
'epoch': '2016-06-17T12:00:00Z',
'cartesian': [0, 1, 2, 3,
60, 61, 122, 183]
},
'billboard': {
'alignedAxis': [
{
'interval': '2016-06-17T12:00:00Z/2016-06-17T12:00:30Z',
'unitCartesian': [
0,
1,
0
]
},
{
'interval': '2016-06-17T12:00:30Z/2016-06-17T12:01:00Z',
'velocityReference': '#position'
}
]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var property = entity.billboard.alignedAxis;
var expected = new Cartesian3(0, 1, 0);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:00Z'))).toEqual(expected);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:29Z'))).toEqual(expected);
var expectedVelocity = new Cartesian3(1.0, 2.0, 3.0);
var expectedVelocityDirection = Cartesian3.normalize(expectedVelocity, new Cartesian3());
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:30Z'))).toEqualEpsilon(expectedVelocityDirection, CesiumMath.EPSILON15);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:01:00Z'))).toEqualEpsilon(expectedVelocityDirection, CesiumMath.EPSILON12);
});
});
it('can handle image intervals both of type uri and image', function() {
var source = 'http://some.url.invalid/';
var packet = {
billboard : {
image : [{
interval : '2013-01-01T00:00:00Z/2013-01-01T01:00:00Z',
uri : 'image.png'
}, {
interval : '2013-01-01T01:00:00Z/2013-01-01T02:00:00Z',
uri : 'image2.png'
}]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet), {
sourceUri: source
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var imageProperty = entity.billboard.image;
expect(imageProperty.getValue(JulianDate.fromIso8601('2013-01-01T00:00:00Z')).url).toEqual(source + 'image.png');
expect(imageProperty.getValue(JulianDate.fromIso8601('2013-01-01T01:00:00Z')).url).toEqual(source + 'image2.png');
});
});
it('CZML adds data for constrained billboard.', function() {
var billboardPacket = {
billboard : {
interval : '2000-01-01/2001-01-01',
image : 'http://someImage.invalid/image',
scale : 1.0,
horizontalOrigin : 'CENTER',
verticalOrigin : 'CENTER',
color : {
rgbaf : [1.0, 1.0, 1.0, 1.0]
},
eyeOffset : {
cartesian : [3.0, 4.0, 5.0]
},
pixelOffset : {
cartesian2 : [1.0, 2.0]
},
show : true
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : billboardPacket.billboard.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
expect(entity.billboard.image.getValue(validTime).url).toEqual(billboardPacket.billboard.image);
expect(entity.billboard.scale.getValue(validTime)).toEqual(billboardPacket.billboard.scale);
expect(entity.billboard.horizontalOrigin.getValue(validTime)).toEqual(HorizontalOrigin.CENTER);
expect(entity.billboard.verticalOrigin.getValue(validTime)).toEqual(VerticalOrigin.CENTER);
expect(entity.billboard.color.getValue(validTime)).toEqual(new Color(1.0, 1.0, 1.0, 1.0));
expect(entity.billboard.eyeOffset.getValue(validTime)).toEqual(new Cartesian3(3.0, 4.0, 5.0));
expect(entity.billboard.pixelOffset.getValue(validTime)).toEqual(new Cartesian2(1.0, 2.0));
expect(entity.billboard.show.getValue(validTime)).toEqual(true);
expect(entity.billboard).toBeDefined();
expect(entity.billboard.image.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.scale.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.horizontalOrigin.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.verticalOrigin.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.color.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.eyeOffset.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.pixelOffset.getValue(invalidTime)).toBeUndefined();
expect(entity.billboard.show.getValue(invalidTime)).toBeUndefined();
});
});
it('can handle sampled billboard pixelOffset.', function() {
var epoch = JulianDate.now();
var billboardPacket = {
billboard : {
pixelOffset : {
epoch : JulianDate.toIso8601(epoch),
cartesian2 : [0.0, 1.0, 2.0,
1.0, 3.0, 4.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 0.5, new JulianDate());
var date3 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
expect(entity.billboard.pixelOffset.getValue(date1)).toEqual(new Cartesian2(1.0, 2.0));
expect(entity.billboard.pixelOffset.getValue(date2)).toEqual(new Cartesian2(2.0, 3.0));
expect(entity.billboard.pixelOffset.getValue(date3)).toEqual(new Cartesian2(3.0, 4.0));
});
});
it('can handle interval billboard scaleByDistance.', function() {
var billboardPacket = {
billboard : {
scaleByDistance : [{
interval : '2013-01-01T00:00:00Z/2013-01-01T01:00:00Z',
nearFarScalar : [1.0, 2.0, 10000.0, 3.0]
}, {
interval : '2013-01-01T01:00:00Z/2013-01-01T02:00:00Z',
nearFarScalar : [2.0, 3.0, 20000.0, 4.0]
}]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
expect(entity.billboard.scaleByDistance.getValue(JulianDate.fromIso8601('2013-01-01T00:00:00Z'))).toEqual(new NearFarScalar(1.0, 2.0, 10000.0, 3.0));
expect(entity.billboard.scaleByDistance.getValue(JulianDate.fromIso8601('2013-01-01T01:00:00Z'))).toEqual(new NearFarScalar(2.0, 3.0, 20000.0, 4.0));
});
});
it('can handle sampled billboard scaleByDistance.', function() {
var epoch = JulianDate.now();
var billboardPacket = {
billboard : {
scaleByDistance : {
epoch : JulianDate.toIso8601(epoch),
nearFarScalar : [
0, 1.0, 2.0, 10000.0, 3.0,
2, 2.0, 3.0, 20000.0, 4.0
]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
var date3 = JulianDate.addSeconds(epoch, 2.0, new JulianDate());
expect(entity.billboard.scaleByDistance.getValue(date1)).toEqual(new NearFarScalar(1.0, 2.0, 10000.0, 3.0));
expect(entity.billboard.scaleByDistance.getValue(date2)).toEqual(new NearFarScalar(1.5, 2.5, 15000.0, 3.5));
expect(entity.billboard.scaleByDistance.getValue(date3)).toEqual(new NearFarScalar(2.0, 3.0, 20000.0, 4.0));
});
});
it('can handle sampled billboard color rgba.', function() {
var epoch = JulianDate.now();
var billboardPacket = {
billboard : {
color : {
epoch : JulianDate.toIso8601(epoch),
rgba : [0, 200, 202, 204, 206,
2, 0, 0, 0, 0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(billboardPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.billboard).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
var date3 = JulianDate.addSeconds(epoch, 2.0, new JulianDate());
expect(entity.billboard.color.getValue(date1)).toEqual(Color.fromBytes(200, 202, 204, 206));
expect(entity.billboard.color.getValue(date2)).toEqual(Color.fromBytes(100, 101, 102, 103));
expect(entity.billboard.color.getValue(date3)).toEqual(Color.fromBytes(0, 0, 0, 0));
});
});
it('can handle clock data.', function() {
var clockPacket = {
id : 'document',
version : '1.0',
clock : {
interval : '2012-03-15T10:00:00Z/2012-03-16T10:00:00Z',
currentTime : '2012-03-15T10:00:00Z',
multiplier : 60.0,
range : 'LOOP_STOP',
step : 'SYSTEM_CLOCK_MULTIPLIER'
}
};
var interval = TimeInterval.fromIso8601({
iso8601 : clockPacket.clock.interval
});
var currentTime = JulianDate.fromIso8601(clockPacket.clock.currentTime);
var multiplier = clockPacket.clock.multiplier;
var range = ClockRange[clockPacket.clock.range];
var step = ClockStep[clockPacket.clock.step];
var dataSource = new CzmlDataSource();
return dataSource.load(clockPacket).then(function(dataSource) {
expect(dataSource.clock).toBeDefined();
expect(dataSource.clock.startTime).toEqual(interval.start);
expect(dataSource.clock.stopTime).toEqual(interval.stop);
expect(dataSource.clock.currentTime).toEqual(currentTime);
expect(dataSource.clock.clockRange).toEqual(range);
expect(dataSource.clock.clockStep).toEqual(step);
expect(dataSource.clock.multiplier).toEqual(multiplier);
});
});
it('can handle position specified as constant cartographicsDegrees.', function() {
var czml = {
position : {
cartographicDegrees : [34, 117, 10000]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.position.getValue(JulianDate.now());
expect(resultCartesian).toEqual(Cartesian3.fromDegrees(34, 117, 10000));
});
});
it('can handle position specified as sampled cartographicsDegrees.', function() {
var epoch = JulianDate.now();
var czml = {
position : {
epoch : JulianDate.toIso8601(epoch),
cartographicDegrees : [0, 34, 117, 10000,
1, 34, 117, 20000]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.position.getValue(epoch);
expect(resultCartesian).toEqual(Cartesian3.fromDegrees(34, 117, 10000));
resultCartesian = entity.position.getValue(JulianDate.addSeconds(epoch, 1, new JulianDate()));
expect(resultCartesian).toEqual(Cartesian3.fromDegrees(34, 117, 20000));
});
});
it('can handle position specified as sampled cartographicDegrees without epoch.', function() {
var lastDate = JulianDate.now();
var firstDate = new JulianDate(lastDate.dayNumber - 1, 0);
var czml = {
position : {
cartographicDegrees : [JulianDate.toIso8601(firstDate), 34, 117, 10000,
JulianDate.toIso8601(lastDate), 34, 117, 20000]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.position.getValue(firstDate);
expect(resultCartesian).toEqual(Cartesian3.fromDegrees(34, 117, 10000));
resultCartesian = entity.position.getValue(lastDate);
expect(resultCartesian).toEqual(Cartesian3.fromDegrees(34, 117, 20000));
});
});
it('can handle position specified as constant cartographicRadians.', function() {
var czml = {
position : {
cartographicRadians : [1, 2, 10000]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.position.getValue(JulianDate.now());
expect(resultCartesian).toEqual(Cartesian3.fromRadians(1, 2, 10000));
});
});
it('can handle position specified as sampled cartographicRadians.', function() {
var epoch = JulianDate.now();
var czml = {
position : {
epoch : JulianDate.toIso8601(epoch),
cartographicRadians : [0, 2, 0.3, 10000,
1, 0.2, 0.5, 20000]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.position.getValue(epoch);
expect(resultCartesian).toEqual(Cartesian3.fromRadians(2, 0.3, 10000));
resultCartesian = entity.position.getValue(JulianDate.addSeconds(epoch, 1, new JulianDate()));
expect(resultCartesian).toEqual(Cartesian3.fromRadians(0.2, 0.5, 20000));
});
});
it('Can set reference frame', function() {
var epoch = JulianDate.now();
var dataSource = new CzmlDataSource();
var czml = {
position : {
referenceFrame : 'INERTIAL',
epoch : JulianDate.toIso8601(epoch),
cartesian : [1.0, 2.0, 3.0]
}
};
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.referenceFrame).toBe(ReferenceFrame.INERTIAL);
czml = {
position: {
referenceFrame: 'FIXED',
epoch: JulianDate.toIso8601(epoch),
cartesian: [1.0, 2.0, 3.0]
}
};
return dataSource.load(makePacket(czml));
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.referenceFrame).toBe(ReferenceFrame.FIXED);
});
});
it('uses FIXED as default if not specified in CZML', function() {
var epoch = JulianDate.now();
var dataSource = new CzmlDataSource();
var czml = {
position : {
epoch : JulianDate.toIso8601(epoch),
cartesian : [1.0, 2.0, 3.0]
}
};
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.referenceFrame).toBe(ReferenceFrame.FIXED);
});
});
it('Default reference frame on existing interval does not reset value to FIXED.', function() {
var epoch = JulianDate.now();
var dataSource = new CzmlDataSource();
var czml = {
position : {
referenceFrame : 'INERTIAL',
epoch : JulianDate.toIso8601(epoch),
cartesian : [1.0, 2.0, 3.0]
}
};
return dataSource.process(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.referenceFrame).toBe(ReferenceFrame.INERTIAL);
var czml2 = {
position: {
epoch: JulianDate.toIso8601(epoch),
cartesian: [1.0, 2.0, 3.0]
}
};
return dataSource.process(czml2);
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.referenceFrame).toBe(ReferenceFrame.INERTIAL);
});
});
it('can handle a number specified as sampled values without epoch.', function() {
var firstDate = Iso8601.MINIMUM_VALUE;
var midDate = JulianDate.addDays(firstDate, 1, new JulianDate());
var lastDate = JulianDate.addDays(firstDate, 2, new JulianDate());
var ellipsePacket = {
ellipse : {
semiMajorAxis : {
number : [JulianDate.toIso8601(firstDate), 0,
JulianDate.toIso8601(lastDate), 10]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(ellipsePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.ellipse).toBeDefined();
expect(entity.ellipse.semiMajorAxis.getValue(firstDate)).toEqual(0);
expect(entity.ellipse.semiMajorAxis.getValue(midDate)).toEqual(5);
expect(entity.ellipse.semiMajorAxis.getValue(lastDate)).toEqual(10);
});
});
it('can handle a direction specified as constant unitSpherical', function() {
var czml = {
billboard : {
alignedAxis : {
unitSpherical : [1.0, 2.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.billboard.alignedAxis.getValue(JulianDate.now());
expect(resultCartesian).toEqual(Cartesian3.fromSpherical(new Spherical(1.0, 2.0)));
});
});
it('can handle a direction specified as sampled unitSpherical.', function() {
var epoch = JulianDate.now();
var czml = {
billboard : {
alignedAxis : {
epoch : JulianDate.toIso8601(epoch),
unitSpherical : [0, 1.0, 2.0,
1, -1.0, -2.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.billboard.alignedAxis.getValue(epoch);
expect(resultCartesian).toEqual(Cartesian3.fromSpherical(new Spherical(1.0, 2.0)));
resultCartesian = entity.billboard.alignedAxis.getValue(JulianDate.addSeconds(epoch, 1, new JulianDate()));
expect(resultCartesian).toEqual(Cartesian3.fromSpherical(new Spherical(-1.0, -2.0)));
});
});
it('can handle a direction specified as constant spherical', function() {
var czml = {
billboard : {
alignedAxis : {
spherical : [1.0, 2.0, 30.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.billboard.alignedAxis.getValue(JulianDate.now());
var expected = Cartesian3.fromSpherical(new Spherical(1.0, 2.0, 30.0));
Cartesian3.normalize(expected, expected);
expect(resultCartesian).toEqual(expected);
});
});
it('can handle a direction specified as sampled spherical.', function() {
var epoch = JulianDate.now();
var czml = {
billboard : {
alignedAxis : {
epoch : JulianDate.toIso8601(epoch),
spherical : [0, 1.0, 2.0, 30.0,
1, -1.0, -2.0, 40.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(czml)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var resultCartesian = entity.billboard.alignedAxis.getValue(epoch);
var expected = Cartesian3.fromSpherical(new Spherical(1.0, 2.0, 30.0));
Cartesian3.normalize(expected, expected);
expect(resultCartesian).toEqual(expected);
resultCartesian = entity.billboard.alignedAxis.getValue(JulianDate.addSeconds(epoch, 1, new JulianDate()));
expected = Cartesian3.fromSpherical(new Spherical(-1.0, -2.0, 40.0));
Cartesian3.normalize(expected, expected);
expect(resultCartesian).toEqual(expected);
});
});
it('CZML adds data for infinite ellipse.', function() {
var ellipsePacket = {
ellipse : {
semiMajorAxis : 10,
semiMinorAxis : 20,
rotation : 1.0,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
shadows : 'ENABLED',
zIndex: 8
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(ellipsePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.ellipse).toBeDefined();
expect(entity.ellipse.semiMajorAxis.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ellipsePacket.ellipse.semiMajorAxis);
expect(entity.ellipse.semiMinorAxis.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ellipsePacket.ellipse.semiMinorAxis);
expect(entity.ellipse.rotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ellipsePacket.ellipse.rotation);
expect(entity.ellipse.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.ellipse.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.ellipse.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.ellipse.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
expect(entity.ellipse.zIndex.getValue(Iso8601.MINIMUM_VALUE)).toEqual(8);
});
});
it('CZML adds data for constrained ellipse.', function() {
var ellipsePacketInterval = {
ellipse : {
interval : '2000-01-01/2001-01-01',
semiMajorAxis : 10,
semiMinorAxis : 20,
rotation : 1.0,
shadows : 'ENABLED'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(ellipsePacketInterval)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var validTime = TimeInterval.fromIso8601({
iso8601: ellipsePacketInterval.ellipse.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
expect(entity.ellipse).toBeDefined();
expect(entity.ellipse.semiMajorAxis.getValue(validTime)).toEqual(ellipsePacketInterval.ellipse.semiMajorAxis);
expect(entity.ellipse.semiMinorAxis.getValue(validTime)).toEqual(ellipsePacketInterval.ellipse.semiMinorAxis);
expect(entity.ellipse.rotation.getValue(validTime)).toEqual(ellipsePacketInterval.ellipse.rotation);
expect(entity.ellipse.shadows.getValue(validTime)).toEqual(ShadowMode.ENABLED);
expect(entity.ellipse.semiMajorAxis.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipse.semiMinorAxis.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipse.rotation.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipse.shadows.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for infinite ellipsoid.', function() {
var expectedRadii = new Cartesian3(1.0, 2.0, 3.0);
var ellipsoidPacket = {
ellipsoid : {
radii : {
cartesian : [1.0, 2.0, 3.0]
},
show : true,
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
},
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
stackPartitions : 25,
slicePartitions : 26,
subdivisions : 27,
shadows : 'ENABLED'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(ellipsoidPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.ellipsoid).toBeDefined();
expect(entity.ellipsoid.radii.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedRadii);
expect(entity.ellipsoid.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ellipsoidPacket.ellipsoid.show);
expect(entity.ellipsoid.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.ellipsoid.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.ellipsoid.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.ellipsoid.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.ellipsoid.stackPartitions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(25);
expect(entity.ellipsoid.slicePartitions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(26);
expect(entity.ellipsoid.subdivisions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(27);
expect(entity.ellipsoid.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
});
});
it('CZML adds data for constrained ellipsoid.', function() {
var expectedRadii = new Cartesian3(1.0, 2.0, 3.0);
var ellipsoidPacketInterval = {
ellipsoid : {
interval : '2000-01-01/2001-01-01',
radii : {
cartesian : [1.0, 2.0, 3.0]
},
show : true,
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
},
shadows : 'ENABLED'
}
};
var validTime = TimeInterval.fromIso8601({
iso8601: ellipsoidPacketInterval.ellipsoid.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(ellipsoidPacketInterval)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.ellipsoid).toBeDefined();
expect(entity.ellipsoid.radii.getValue(validTime)).toEqual(expectedRadii);
expect(entity.ellipsoid.show.getValue(validTime)).toEqual(ellipsoidPacketInterval.ellipsoid.show);
expect(entity.ellipsoid.material.getValue(validTime).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.ellipsoid.shadows.getValue(validTime)).toEqual(ShadowMode.ENABLED);
expect(entity.ellipsoid.radii.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipsoid.show.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipsoid.material.getValue(invalidTime)).toBeUndefined();
expect(entity.ellipsoid.shadows.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for infinite label.', function() {
var labelPacket = {
label : {
text : 'TestFacility',
font : '10pt "Open Sans"',
style : 'FILL',
fillColor : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 3.14,
horizontalOrigin : 'LEFT',
verticalOrigin : 'CENTER',
eyeOffset : {
cartesian : [1.0, 2.0, 3.0]
},
pixelOffset : {
cartesian2 : [4.0, 5.0]
},
scale : 1.0,
show : true,
translucencyByDistance : {
nearFarScalar : [1.0, 1.0, 10000.0, 0.0]
},
pixelOffsetScaleByDistance : {
nearFarScalar : [1.0, 20.0, 10000.0, 30.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(labelPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.label).toBeDefined();
expect(entity.label.text.getValue(Iso8601.MINIMUM_VALUE)).toEqual(labelPacket.label.text);
expect(entity.label.font.getValue(Iso8601.MINIMUM_VALUE)).toEqual(labelPacket.label.font);
expect(entity.label.style.getValue(Iso8601.MINIMUM_VALUE)).toEqual(LabelStyle.FILL);
expect(entity.label.fillColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.label.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.label.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(labelPacket.label.outlineWidth);
expect(entity.label.horizontalOrigin.getValue(Iso8601.MINIMUM_VALUE)).toEqual(HorizontalOrigin.LEFT);
expect(entity.label.verticalOrigin.getValue(Iso8601.MINIMUM_VALUE)).toEqual(VerticalOrigin.CENTER);
expect(entity.label.eyeOffset.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(entity.label.pixelOffset.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian2(4.0, 5.0));
expect(entity.label.scale.getValue(Iso8601.MINIMUM_VALUE)).toEqual(labelPacket.label.scale);
expect(entity.label.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(labelPacket.label.show);
expect(entity.label.translucencyByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 1.0, 10000.0, 0.0));
expect(entity.label.pixelOffsetScaleByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 20.0, 10000.0, 30.0));
});
});
it('CZML adds data for constrained label.', function() {
var labelPacket = {
label : {
interval : '2000-01-01/2001-01-01',
text : 'TestFacility',
font : '10pt "Open Sans"',
style : 'FILL',
fillColor : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 2.78,
horizontalOrigin : 'LEFT',
verticalOrigin : 'CENTER',
eyeOffset : {
cartesian : [1.0, 2.0, 3.0]
},
pixelOffset : {
cartesian2 : [4.0, 5.0]
},
scale : 1.0,
show : true
}
};
var validTime = TimeInterval.fromIso8601({
iso8601: labelPacket.label.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(labelPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.label).toBeDefined();
expect(entity.label.text.getValue(validTime)).toEqual(labelPacket.label.text);
expect(entity.label.font.getValue(validTime)).toEqual(labelPacket.label.font);
expect(entity.label.style.getValue(validTime)).toEqual(LabelStyle.FILL);
expect(entity.label.fillColor.getValue(validTime)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.label.outlineColor.getValue(validTime)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.label.outlineWidth.getValue(validTime)).toEqual(labelPacket.label.outlineWidth);
expect(entity.label.horizontalOrigin.getValue(validTime)).toEqual(HorizontalOrigin.LEFT);
expect(entity.label.verticalOrigin.getValue(validTime)).toEqual(VerticalOrigin.CENTER);
expect(entity.label.eyeOffset.getValue(validTime)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(entity.label.pixelOffset.getValue(validTime)).toEqual(new Cartesian2(4.0, 5.0));
expect(entity.label.scale.getValue(validTime)).toEqual(labelPacket.label.scale);
expect(entity.label.show.getValue(validTime)).toEqual(labelPacket.label.show);
expect(entity.label.text.getValue(invalidTime)).toBeUndefined();
expect(entity.label.font.getValue(invalidTime)).toBeUndefined();
expect(entity.label.style.getValue(invalidTime)).toBeUndefined();
expect(entity.label.fillColor.getValue(invalidTime)).toBeUndefined();
expect(entity.label.outlineColor.getValue(invalidTime)).toBeUndefined();
expect(entity.label.outlineWidth.getValue(invalidTime)).toBeUndefined();
expect(entity.label.horizontalOrigin.getValue(invalidTime)).toBeUndefined();
expect(entity.label.verticalOrigin.getValue(invalidTime)).toBeUndefined();
expect(entity.label.eyeOffset.getValue(invalidTime)).toBeUndefined();
expect(entity.label.pixelOffset.getValue(invalidTime)).toBeUndefined();
expect(entity.label.scale.getValue(invalidTime)).toBeUndefined();
expect(entity.label.show.getValue(invalidTime)).toBeUndefined();
});
});
it('can handle sampled label pixelOffset.', function() {
var epoch = JulianDate.now();
var labelPacket = {
label : {
pixelOffset : {
epoch : JulianDate.toIso8601(epoch),
cartesian2 : [0, 1, 2, 1, 3, 4]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(labelPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.label).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
expect(entity.label.pixelOffset.getValue(date1)).toEqual(new Cartesian2(1.0, 2.0));
expect(entity.label.pixelOffset.getValue(date2)).toEqual(new Cartesian2(3.0, 4.0));
});
});
it('CZML Position works.', function() {
var packet = {
position : {
cartesian : [1.0, 2.0, 3.0]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.position.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
});
});
it('CZML Orientation works.', function() {
var packet = {
orientation : {
unitQuaternion : [0.0, 0.0, 0.0, 1.0]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.orientation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Quaternion(0.0, 0.0, 0.0, 1.0));
});
});
it('CZML Orientation is normalized on load.', function() {
var packet = {
orientation : {
unitQuaternion : [0.0, 0.0, 0.7071067, 0.7071067]
}
};
var expected = new Quaternion(0.0, 0.0, 0.7071067, 0.7071067);
Quaternion.normalize(expected, expected);
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.orientation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expected);
});
});
it('CZML Orientation is normalized on load.', function() {
var time1 = '2000-01-01T00:00:00Z';
var time2 = '2000-01-01T00:00:01Z';
var packet = {
orientation : {
unitQuaternion : [time1, 0.0, 0.0, 0.7071067, 0.7071067, time2, 0.7071067, 0.7071067, 0.0, 0.0]
}
};
var expected1 = new Quaternion(0.0, 0.0, 0.7071067, 0.7071067);
Quaternion.normalize(expected1, expected1);
var expected2 = new Quaternion(0.7071067, 0.7071067, 0.0, 0.0);
Quaternion.normalize(expected2, expected2);
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.orientation.getValue(JulianDate.fromIso8601(time1))).toEqual(expected1);
expect(entity.orientation.getValue(JulianDate.fromIso8601(time2))).toEqual(expected2);
});
});
it('can handle orientation expressed as a velocity reference', function() {
var packet = {
'position' : {
'epoch' : '2016-06-17T12:00:00Z',
'cartesian' : [0, 1, 2, 3,
60, 61, 122, 183]
},
'orientation': {
'velocityReference': '#position'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var property = entity.orientation;
var expectedVelocity = new Cartesian3(1.0, 2.0, 3.0);
var expectedVelocityDirection = Cartesian3.normalize(expectedVelocity, new Cartesian3());
var expectedPosition = new Cartesian3(1, 2, 3);
var expectedRotation = Transforms.rotationMatrixFromPositionVelocity(expectedPosition, expectedVelocityDirection);
var expectedOrientation = Quaternion.fromRotationMatrix(expectedRotation);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:00Z'))).toEqualEpsilon(expectedOrientation, CesiumMath.EPSILON15);
expect(property.getValue(JulianDate.fromIso8601('2016-06-17T12:00:30Z'))).toEqualEpsilon(expectedOrientation, CesiumMath.EPSILON15);
});
});
it('positions work with cartesians.', function() {
var expectedResult = [new Cartesian3(1.0, 2.0, 3.0), new Cartesian3(5.0, 6.0, 7.0)];
var packet = {
polyline : {
positions : {
cartesian : [expectedResult[0].x, expectedResult[0].y, expectedResult[0].z, expectedResult[1].x, expectedResult[1].y, expectedResult[1].z]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline.positions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedResult);
});
});
it('positions work with cartographicRadians.', function() {
var input = [new Cartographic(1.0, 2.0, 4.0), new Cartographic(5.0, 6.0, 7.0)];
var expectedResult = Ellipsoid.WGS84.cartographicArrayToCartesianArray(input);
var packet = {
polyline : {
positions : {
cartographicRadians : [input[0].longitude, input[0].latitude, input[0].height, input[1].longitude, input[1].latitude, input[1].height]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline.positions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedResult);
});
});
it('positions work with cartographicDegrees.', function() {
var expectedResult = Cartesian3.fromDegreesArrayHeights([
1.0, 2.0, 3.0,
5.0, 6.0, 7.0
]);
var packet = {
polyline : {
positions : {
cartographicDegrees : [1.0, 2.0, 3.0, 5.0, 6.0, 7.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline.positions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedResult);
});
});
it('CZML ViewFrom works.', function() {
var packet = {
viewFrom : {
cartesian : [1.0, 2.0, 3.0]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.viewFrom.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
});
});
it('CZML description works.', function() {
var packet = {
description : 'this is a description'
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.description.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet.description);
});
});
it('works with properties that are constant.', function() {
var testObject = {
foo: 4,
bar: {
name: 'bar'
}
};
var testArray = [2, 4, 16, 'test'];
var packet = {
properties: {
constant_name: 'ABC',
constant_height: 8,
constant_object: {
value: testObject
},
constant_array: {
value: testArray
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.properties.constant_name.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet.properties.constant_name);
expect(entity.properties.constant_height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet.properties.constant_height);
expect(entity.properties.constant_object.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testObject);
expect(entity.properties.constant_array.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testArray);
});
});
it('works with properties which are constant with specified type.', function() {
var testObject = {
foo: 4,
bar: {
name: 'bar'
}
};
var testArray = [2, 4, 16, 'test'];
var packet = {
properties: {
constant_name: {
string: 'ABC'
},
constant_height: {
number: 8
},
constant_object: {
object: testObject
},
constant_array: {
array: testArray
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.properties.constant_name.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet.properties.constant_name.string);
expect(entity.properties.constant_height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet.properties.constant_height.number);
expect(entity.properties.constant_object.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testObject);
expect(entity.properties.constant_array.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testArray);
});
});
it('works with properties with one interval.', function() {
var packet = {
properties: {
changing_name: {
interval: '2012/2014',
value: 'ABC'
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var time1 = JulianDate.fromIso8601('2013');
var time2 = JulianDate.fromIso8601('2015');
expect(entity.properties.changing_name.getValue(time1)).toEqual('ABC');
expect(entity.properties.changing_name.getValue(time2)).toBeUndefined();
});
});
it('works with properties with one interval with specified type.', function() {
var packet = {
properties: {
changing_name: {
interval: '2012/2014',
string: 'ABC'
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var time1 = JulianDate.fromIso8601('2013');
var time2 = JulianDate.fromIso8601('2015');
expect(entity.properties.changing_name.getValue(time1)).toEqual('ABC');
expect(entity.properties.changing_name.getValue(time2)).toBeUndefined();
});
});
it('works with properties with multiple intervals.', function() {
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var packet = {
properties: {
changing_array: [
{
interval: '2012/2013',
value: array1
},
{
interval: '2013/2014',
value: array2
}
]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var time1 = JulianDate.fromIso8601('2012-06-01');
var time2 = JulianDate.fromIso8601('2013-06-01');
expect(entity.properties.changing_array.getValue(time1)).toEqual(array1);
expect(entity.properties.changing_array.getValue(time2)).toEqual(array2);
});
});
it('handles boolean custom properties with intervals.', function() {
var packet = {
id: 'MyID',
properties: {
custom_boolean: [
{
interval: '2012-04-02T12:00:00Z/2012-04-02T12:00:01Z',
boolean: true
},
{
interval: '2012-04-02T12:00:01Z/2012-04-02T12:00:02Z',
boolean: false
},
{
interval: '2012-04-02T12:00:02Z/2012-04-02T12:01:00Z',
boolean: true
}
]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('MyID');
expect(entity).toBeDefined();
expect(entity.properties).toBeDefined();
expect(entity.properties.custom_boolean).toBeDefined();
expect(entity.properties.custom_boolean.getValue(JulianDate.fromIso8601('2012-04-02T12:00:00Z'))).toEqual(true);
expect(entity.properties.custom_boolean.getValue(JulianDate.fromIso8601('2012-04-02T12:00:01Z'))).toEqual(false);
expect(entity.properties.custom_boolean.getValue(JulianDate.fromIso8601('2012-04-02T12:00:02Z'))).toEqual(true);
});
});
it('works with properties with multiple intervals with specified type.', function() {
var array1 = [1, 2, 3];
var array2 = [4, 5, 6];
var packet = {
properties: {
changing_array: [
{
interval: '2012/2013',
array: array1
},
{
interval: '2013/2014',
array: array2
}
]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var time1 = JulianDate.fromIso8601('2012-06-01');
var time2 = JulianDate.fromIso8601('2013-06-01');
expect(entity.properties.changing_array.getValue(time1)).toEqual(array1);
expect(entity.properties.changing_array.getValue(time2)).toEqual(array2);
});
});
it('handles sampled custom properties.', function() {
var packet = {
id: 'MyID',
properties: {
custom_cartesian: {
epoch: '2012-04-02T12:00:00Z',
cartesian: [
0, 1, 2, 3,
60, 4, 5, 6,
120, 7, 8, 9
]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('MyID');
expect(entity).toBeDefined();
expect(entity.properties).toBeDefined();
expect(entity.properties.custom_cartesian).toBeDefined();
expect(entity.properties.custom_cartesian.getValue(JulianDate.fromIso8601('2012-04-02T12:00:00Z'))).toBeInstanceOf(Cartesian3);
expect(entity.properties.custom_cartesian.getValue(JulianDate.fromIso8601('2012-04-02T12:00:00Z'))).toEqual(new Cartesian3(1, 2, 3));
// halfway between two samples, linearly interpolated
expect(entity.properties.custom_cartesian.getValue(JulianDate.fromIso8601('2012-04-02T12:00:30Z'))).toEqual(new Cartesian3((1 + 4) / 2, (2 + 5) / 2, (3 + 6) / 2));
expect(entity.properties.custom_cartesian.getValue(JulianDate.fromIso8601('2012-04-02T12:01:00Z'))).toEqual(new Cartesian3(4, 5, 6));
expect(entity.properties.custom_cartesian.getValue(JulianDate.fromIso8601('2012-04-02T12:02:00Z'))).toEqual(new Cartesian3(7, 8, 9));
});
});
it('handles various types of custom properties.', function() {
var interval1 = '2012/2013';
var interval2 = '2013/2014';
var packet = {
id: 'MyID',
properties: {
custom_array_constant: {
array: [1, 2, 3]
},
custom_array_interval: [
{
interval: interval1,
array: [1, 2, 3]
},
{
interval: interval2,
array: [4, 5, 6]
}
],
custom_boolean_constant: {
boolean: true
},
custom_boolean_interval: [
{
interval: interval1,
boolean: true
},
{
interval: interval2,
boolean: false
}
],
custom_boundingRectangle_constant: {
boundingRectangle: [20, 30, 10, 11]
},
custom_boundingRectangle_interval: [
{
interval: interval1,
boundingRectangle: [20, 30, 10, 11]
},
{
interval: interval2,
boundingRectangle: [21, 31, 11, 12]
}
],
custom_boundingRectangle_sampled: {
epoch: '2012-06-01',
boundingRectangle: [
0, 20, 30, 10, 11,
60, 21, 31, 11, 12
]
},
custom_cartesian2_constant: {
cartesian2: [20, 30]
},
custom_cartesian2_interval: [
{
interval: interval1,
cartesian2: [20, 30]
},
{
interval: interval2,
cartesian2: [21, 31]
}
],
custom_cartesian2_sampled: {
epoch: '2012-06-01',
cartesian2: [
0, 20, 30,
60, 21, 31
]
},
custom_cartesian_constant: {
cartesian: [10, 11, 12]
},
custom_cartesian_interval: [
{
interval: interval1,
cartesian: [10, 11, 12]
},
{
interval: interval2,
cartesian: [13, 14, 15]
}
],
custom_cartesian_sampled: {
epoch: '2012-06-01',
cartesian: [
0, 10, 11, 12,
60, 13, 14, 15
]
},
custom_color_constant: {
rgbaf: [0.1, 0.2, 0.3, 0.4]
},
custom_color_interval: [
{
interval: interval1,
rgbaf: [0.1, 0.2, 0.3, 0.4]
},
{
interval: interval2,
rgbaf: [0.5, 0.6, 0.7, 0.8]
}
],
custom_color_sampled: {
epoch: '2012-06-01',
rgbaf: [
0, 0.1, 0.2, 0.3, 0.4,
60, 0.5, 0.6, 0.7, 0.8
]
},
custom_date_constant: {
date: '2014-06-01'
},
custom_date_interval: [
{
interval: interval1,
date: '2014-06-01'
},
{
interval: interval2,
date: '2015-06-01'
}
]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('MyID');
expect(entity).toBeDefined();
expect(entity.properties).toBeDefined();
var time1 = JulianDate.fromIso8601('2012-06-01');
var time2 = JulianDate.fromIso8601('2013-06-01');
expect(entity.properties.custom_array_constant).toBeDefined();
expect(entity.properties.custom_array_constant.getValue(time1)).toBeInstanceOf(Array);
expect(entity.properties.custom_array_constant.getValue(time1)).toEqual(packet.properties.custom_array_constant.array);
expect(entity.properties.custom_array_interval).toBeDefined();
expect(entity.properties.custom_array_interval.getValue(time1)).toBeInstanceOf(Array);
expect(entity.properties.custom_array_interval.getValue(time1)).toEqual(packet.properties.custom_array_interval[0].array);
expect(entity.properties.custom_array_interval.getValue(time2)).toEqual(packet.properties.custom_array_interval[1].array);
expect(entity.properties.custom_boolean_constant).toBeDefined();
expect(entity.properties.custom_boolean_constant.getValue(time1)).toEqual(packet.properties.custom_boolean_constant.boolean);
expect(entity.properties.custom_boolean_interval).toBeDefined();
expect(entity.properties.custom_boolean_interval.getValue(time1)).toEqual(packet.properties.custom_boolean_interval[0].boolean);
expect(entity.properties.custom_boolean_interval.getValue(time2)).toEqual(packet.properties.custom_boolean_interval[1].boolean);
expect(entity.properties.custom_boundingRectangle_constant).toBeDefined();
expect(entity.properties.custom_boundingRectangle_constant.getValue(time1)).toBeInstanceOf(BoundingRectangle);
expect(entity.properties.custom_boundingRectangle_constant.getValue(time1)).toEqual(BoundingRectangle.unpack(packet.properties.custom_boundingRectangle_constant.boundingRectangle));
expect(entity.properties.custom_boundingRectangle_interval).toBeDefined();
expect(entity.properties.custom_boundingRectangle_interval.getValue(time1)).toBeInstanceOf(BoundingRectangle);
expect(entity.properties.custom_boundingRectangle_interval.getValue(time1)).toEqual(BoundingRectangle.unpack(packet.properties.custom_boundingRectangle_interval[0].boundingRectangle));
expect(entity.properties.custom_boundingRectangle_interval.getValue(time2)).toEqual(BoundingRectangle.unpack(packet.properties.custom_boundingRectangle_interval[1].boundingRectangle));
expect(entity.properties.custom_boundingRectangle_sampled).toBeDefined();
expect(entity.properties.custom_boundingRectangle_sampled.getValue(time1)).toBeInstanceOf(BoundingRectangle);
expect(entity.properties.custom_boundingRectangle_sampled.getValue(time1)).toEqual(BoundingRectangle.unpack(packet.properties.custom_boundingRectangle_sampled.boundingRectangle, 0 + 1));
expect(entity.properties.custom_boundingRectangle_sampled.getValue(JulianDate.addSeconds(time1, 60, new JulianDate()))).toEqual(BoundingRectangle.unpack(packet.properties.custom_boundingRectangle_sampled.boundingRectangle, 4 + 2));
expect(entity.properties.custom_cartesian2_constant).toBeDefined();
expect(entity.properties.custom_cartesian2_constant.getValue(time1)).toBeInstanceOf(Cartesian2);
expect(entity.properties.custom_cartesian2_constant.getValue(time1)).toEqual(Cartesian2.unpack(packet.properties.custom_cartesian2_constant.cartesian2));
expect(entity.properties.custom_cartesian2_interval).toBeDefined();
expect(entity.properties.custom_cartesian2_interval.getValue(time1)).toBeInstanceOf(Cartesian2);
expect(entity.properties.custom_cartesian2_interval.getValue(time1)).toEqual(Cartesian2.unpack(packet.properties.custom_cartesian2_interval[0].cartesian2));
expect(entity.properties.custom_cartesian2_interval.getValue(time2)).toEqual(Cartesian2.unpack(packet.properties.custom_cartesian2_interval[1].cartesian2));
expect(entity.properties.custom_cartesian2_sampled).toBeDefined();
expect(entity.properties.custom_cartesian2_sampled.getValue(time1)).toBeInstanceOf(Cartesian2);
expect(entity.properties.custom_cartesian2_sampled.getValue(time1)).toEqual(Cartesian2.unpack(packet.properties.custom_cartesian2_sampled.cartesian2, 0 + 1));
expect(entity.properties.custom_cartesian2_sampled.getValue(JulianDate.addSeconds(time1, 60, new JulianDate()))).toEqual(Cartesian2.unpack(packet.properties.custom_cartesian2_sampled.cartesian2, 2 + 2));
expect(entity.properties.custom_cartesian_constant).toBeDefined();
expect(entity.properties.custom_cartesian_constant.getValue(time1)).toBeInstanceOf(Cartesian3);
expect(entity.properties.custom_cartesian_constant.getValue(time1)).toEqual(Cartesian3.unpack(packet.properties.custom_cartesian_constant.cartesian));
expect(entity.properties.custom_cartesian_interval).toBeDefined();
expect(entity.properties.custom_cartesian_interval.getValue(time1)).toBeInstanceOf(Cartesian3);
expect(entity.properties.custom_cartesian_interval.getValue(time1)).toEqual(Cartesian3.unpack(packet.properties.custom_cartesian_interval[0].cartesian));
expect(entity.properties.custom_cartesian_interval.getValue(time2)).toEqual(Cartesian3.unpack(packet.properties.custom_cartesian_interval[1].cartesian));
expect(entity.properties.custom_cartesian_sampled).toBeDefined();
expect(entity.properties.custom_cartesian_sampled.getValue(time1)).toBeInstanceOf(Cartesian3);
expect(entity.properties.custom_cartesian_sampled.getValue(time1)).toEqual(Cartesian3.unpack(packet.properties.custom_cartesian_sampled.cartesian, 0 + 1));
expect(entity.properties.custom_cartesian_sampled.getValue(JulianDate.addSeconds(time1, 60, new JulianDate()))).toEqual(Cartesian3.unpack(packet.properties.custom_cartesian_sampled.cartesian, 3 + 2));
expect(entity.properties.custom_color_constant).toBeDefined();
expect(entity.properties.custom_color_constant.getValue(time1)).toBeInstanceOf(Color);
expect(entity.properties.custom_color_constant.getValue(time1)).toEqual(Color.unpack(packet.properties.custom_color_constant.rgbaf));
expect(entity.properties.custom_color_interval).toBeDefined();
expect(entity.properties.custom_color_interval.getValue(time1)).toBeInstanceOf(Color);
expect(entity.properties.custom_color_interval.getValue(time1)).toEqual(Color.unpack(packet.properties.custom_color_interval[0].rgbaf));
expect(entity.properties.custom_color_interval.getValue(time2)).toEqual(Color.unpack(packet.properties.custom_color_interval[1].rgbaf));
expect(entity.properties.custom_color_sampled).toBeDefined();
expect(entity.properties.custom_color_sampled.getValue(time1)).toBeInstanceOf(Color);
expect(entity.properties.custom_color_sampled.getValue(time1)).toEqual(Color.unpack(packet.properties.custom_color_sampled.rgbaf, 0 + 1));
expect(entity.properties.custom_color_sampled.getValue(JulianDate.addSeconds(time1, 60, new JulianDate()))).toEqual(Color.unpack(packet.properties.custom_color_sampled.rgbaf, 4 + 2));
expect(entity.properties.custom_date_constant).toBeDefined();
expect(entity.properties.custom_date_constant.getValue(time1)).toBeInstanceOf(JulianDate);
expect(entity.properties.custom_date_constant.getValue(time1)).toEqual(JulianDate.fromIso8601(packet.properties.custom_date_constant.date));
expect(entity.properties.custom_date_interval).toBeDefined();
expect(entity.properties.custom_date_interval.getValue(time1)).toBeInstanceOf(JulianDate);
expect(entity.properties.custom_date_interval.getValue(time1)).toEqual(JulianDate.fromIso8601(packet.properties.custom_date_interval[0].date));
expect(entity.properties.custom_date_interval.getValue(time2)).toEqual(JulianDate.fromIso8601(packet.properties.custom_date_interval[1].date));
});
});
it('handles properties in a way that allows CompositeEntityCollection to work', function() {
var testObject1 = {
foo: 4,
bar: {
name: 'bar'
}
};
var testArray1 = [2, 4, 16, 'test'];
var packet1 = {
id: 'test',
properties: {
constant_name: 'ABC',
constant_height: 8,
constant_object: {
value: testObject1
},
constant_array: {
value: testArray1
}
}
};
var dataSource1 = new CzmlDataSource();
dataSource1.load(makePacket(packet1));
var dataSource2 = new CzmlDataSource();
var composite = new CompositeEntityCollection([dataSource1.entities, dataSource2.entities]);
// Initially we use all the properties from dataSource1.
var entity = composite.values[0];
expect(entity.properties.constant_name.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet1.properties.constant_name);
expect(entity.properties.constant_height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet1.properties.constant_height);
expect(entity.properties.constant_object.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testObject1);
expect(entity.properties.constant_array.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testArray1);
// Load a new packet into dataSource2 and it should take precedence in the composite.
var packet2 = {
id: 'test',
properties: {
constant_name: 'DEF'
}
};
dataSource2.load(makePacket(packet2));
entity = composite.values[0];
expect(entity.properties.constant_name.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet2.properties.constant_name);
expect(entity.properties.constant_height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet1.properties.constant_height);
expect(entity.properties.constant_object.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testObject1);
expect(entity.properties.constant_array.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testArray1);
// Changed values should be mirrored in the composite, too.
var testObject3 = {
some: 'value'
};
var testArray3 = ['not', 'the', 'same', 4];
var packet3 = {
id: 'test',
properties: {
constant_height: 9,
constant_object: {
value: testObject3
},
constant_array: {
value: testArray3
}
}
};
dataSource2.process(packet3);
entity = composite.values[0];
expect(entity.properties.constant_name.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet2.properties.constant_name);
expect(entity.properties.constant_height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(packet3.properties.constant_height);
expect(entity.properties.constant_object.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testObject3);
expect(entity.properties.constant_array.getValue(Iso8601.MINIMUM_VALUE)).toEqual(testArray3);
});
it('CZML Availability works with a single interval.', function() {
var packet1 = {
id : 'testObject',
availability : '2000-01-01/2001-01-01'
};
var packet2 = {
id: 'testObject',
availability: '2000-02-02/2001-02-02'
};
var dataSource = new CzmlDataSource();
return dataSource.process(makePacket(packet1)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var interval = TimeInterval.fromIso8601({
iso8601: packet1.availability
});
expect(entity.availability.length).toEqual(1);
expect(entity.availability.get(0)).toEqual(interval);
return dataSource.process(packet2);
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var interval = TimeInterval.fromIso8601({
iso8601: packet2.availability
});
expect(entity.availability.length).toEqual(1);
expect(entity.availability.get(0)).toEqual(interval);
});
});
it('CZML Availability works with multiple intervals.', function() {
var packet1 = {
id : 'testObject',
availability : ['2000-01-01/2001-01-01', '2002-01-01/2003-01-01']
};
var packet2 = {
id : 'testObject',
availability : ['2003-01-01/2004-01-01', '2005-01-01/2006-01-01']
};
var dataSource = new CzmlDataSource();
return dataSource.process(makePacket(packet1)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var interval1 = TimeInterval.fromIso8601({
iso8601: packet1.availability[0]
});
var interval2 = TimeInterval.fromIso8601({
iso8601: packet1.availability[1]
});
expect(entity.availability.length).toEqual(2);
expect(entity.availability.get(0)).toEqual(interval1);
expect(entity.availability.get(1)).toEqual(interval2);
return dataSource.process(packet2);
}).then(function(dataSource) {
var entity = dataSource.entities.values[0];
var interval1 = TimeInterval.fromIso8601({
iso8601: packet2.availability[0]
});
var interval2 = TimeInterval.fromIso8601({
iso8601: packet2.availability[1]
});
expect(entity.availability.length).toEqual(2);
expect(entity.availability.get(0)).toEqual(interval1);
expect(entity.availability.get(1)).toEqual(interval2);
});
});
it('CZML adds data for infinite path.', function() {
var pathPacket = {
path : {
material : {
polylineOutline : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0
}
},
width : 1.0,
resolution : 23.0,
leadTime : 2.0,
trailTime : 3.0,
show : true
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(pathPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.path).toBeDefined();
expect(entity.path.material.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.path.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pathPacket.path.width);
expect(entity.path.resolution.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pathPacket.path.resolution);
expect(entity.path.material.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.path.material.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(1.0);
expect(entity.path.leadTime.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pathPacket.path.leadTime);
expect(entity.path.trailTime.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pathPacket.path.trailTime);
expect(entity.path.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
});
});
it('CZML adds data for constrained path.', function() {
var pathPacket = {
path : {
interval : '2000-01-01/2001-01-01',
material : {
polylineOutline : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0
}
},
width : 1.0,
resolution : 23.0,
leadTime : 2.0,
trailTime : 3.0,
show : true
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : pathPacket.path.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(pathPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.path).toBeDefined();
expect(entity.path.width.getValue(validTime)).toEqual(pathPacket.path.width);
expect(entity.path.resolution.getValue(validTime)).toEqual(pathPacket.path.resolution);
expect(entity.path.leadTime.getValue(validTime)).toEqual(pathPacket.path.leadTime);
expect(entity.path.trailTime.getValue(validTime)).toEqual(pathPacket.path.trailTime);
expect(entity.path.show.getValue(validTime)).toEqual(true);
expect(entity.path.material.getValue(validTime).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.path.material.getValue(validTime).outlineColor).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.path.material.getValue(validTime).outlineWidth).toEqual(1.0);
expect(entity.path.material.getValue(invalidTime)).toBeUndefined();
expect(entity.path.width.getValue(invalidTime)).toBeUndefined();
expect(entity.path.leadTime.getValue(invalidTime)).toBeUndefined();
expect(entity.path.trailTime.getValue(invalidTime)).toBeUndefined();
expect(entity.path.show.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for infinite point.', function() {
var pointPacket = {
point : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
pixelSize : 1.0,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0,
show : true,
scaleByDistance : {
nearFarScalar : [1.0, 2.0, 10000.0, 3.0]
},
translucencyByDistance : {
nearFarScalar : [1.0, 1.0, 10000.0, 0.0]
},
heightReference : 'CLAMP_TO_GROUND'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(pointPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.point).toBeDefined();
expect(entity.point.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.point.pixelSize.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pointPacket.point.pixelSize);
expect(entity.point.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.point.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(pointPacket.point.outlineWidth);
expect(entity.point.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.point.scaleByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 2.0, 10000.0, 3.0));
expect(entity.point.translucencyByDistance.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new NearFarScalar(1.0, 1.0, 10000.0, 0.0));
expect(entity.point.heightReference.getValue(Iso8601.MINIMUM_VALUE)).toEqual(HeightReference.CLAMP_TO_GROUND);
});
});
it('CZML adds data for constrained point.', function() {
var pointPacket = {
point : {
interval : '2000-01-01/2001-01-01',
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
pixelSize : 1.0,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0,
show : true
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : pointPacket.point.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(pointPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.point).toBeDefined();
expect(entity.point.color.getValue(validTime)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.point.pixelSize.getValue(validTime)).toEqual(pointPacket.point.pixelSize);
expect(entity.point.outlineColor.getValue(validTime)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.point.outlineWidth.getValue(validTime)).toEqual(pointPacket.point.outlineWidth);
expect(entity.point.show.getValue(validTime)).toEqual(true);
expect(entity.point.color.getValue(invalidTime)).toBeUndefined();
expect(entity.point.pixelSize.getValue(invalidTime)).toBeUndefined();
expect(entity.point.outlineColor.getValue(invalidTime)).toBeUndefined();
expect(entity.point.outlineWidth.getValue(invalidTime)).toBeUndefined();
expect(entity.point.show.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for infinite polygon.', function() {
var polygonPacket = {
polygon : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
},
height : 1,
extrudedHeight : 2,
granularity : 3,
stRotation : 4,
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
closeTop : false,
closeBottom : false,
shadows : 'ENABLED',
zIndex: 3
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(polygonPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polygon).toBeDefined();
expect(entity.polygon.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.polygon.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.polygon.height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(1);
expect(entity.polygon.extrudedHeight.getValue(Iso8601.MINIMUM_VALUE)).toEqual(2);
expect(entity.polygon.granularity.getValue(Iso8601.MINIMUM_VALUE)).toEqual(3);
expect(entity.polygon.stRotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(4);
expect(entity.polygon.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.polygon.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.polygon.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.polygon.closeTop.getValue(Iso8601.MINIMUM_VALUE)).toEqual(false);
expect(entity.polygon.closeBottom.getValue(Iso8601.MINIMUM_VALUE)).toEqual(false);
expect(entity.polygon.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
expect(entity.polygon.zIndex.getValue(Iso8601.MINIMUM_VALUE)).toEqual(3);
});
});
it('CZML adds data for constrained polygon.', function() {
var polygonPacket = {
polygon : {
interval : '2000-01-01/2001-01-01',
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
},
show : true,
shadows : 'ENABLED'
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : polygonPacket.polygon.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(polygonPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polygon).toBeDefined();
expect(entity.polygon.material.getValue(validTime).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.polygon.show.getValue(validTime)).toEqual(true);
expect(entity.polygon.shadows.getValue(validTime)).toEqual(ShadowMode.ENABLED);
expect(entity.polygon.material.getValue(invalidTime)).toBeUndefined();
expect(entity.polygon.show.getValue(invalidTime)).toBeUndefined();
expect(entity.polygon.shadows.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for infinite polyline.', function() {
var polylinePacket = {
polyline : {
material : {
polylineOutline : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0
}
},
width : 1.0,
show : true,
shadows : 'ENABLED'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(polylinePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline).toBeDefined();
expect(entity.polyline.material.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.polyline.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(polylinePacket.polyline.width);
expect(entity.polyline.material.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.polyline.material.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(1.0);
expect(entity.polyline.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.polyline.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
});
});
it('CZML adds data for constrained polyline.', function() {
var polylinePacket = {
polyline : {
interval : '2000-01-01/2001-01-01',
material : {
polylineOutline : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0
}
},
width : 1.0,
show : true,
shadows : 'ENABLED'
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : polylinePacket.polyline.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(polylinePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline).toBeDefined();
expect(entity.polyline.material.getValue(validTime).color).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.polyline.width.getValue(validTime)).toEqual(polylinePacket.polyline.width);
expect(entity.polyline.material.getValue(validTime).outlineColor).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.polyline.material.getValue(validTime).outlineWidth).toEqual(1.0);
expect(entity.polyline.show.getValue(validTime)).toEqual(true);
expect(entity.polyline.shadows.getValue(validTime)).toEqual(ShadowMode.ENABLED);
expect(entity.polyline.material.getValue(invalidTime)).toBeUndefined();
expect(entity.polyline.width.getValue(invalidTime)).toBeUndefined();
expect(entity.polyline.show.getValue(invalidTime)).toBeUndefined();
expect(entity.polyline.shadows.getValue(invalidTime)).toBeUndefined();
});
});
it('CZML adds data for polyline clamped to terrain.', function() {
var polylinePacket = {
polyline : {
material : {
polylineOutline : {
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
},
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 1.0
}
},
width : 1.0,
show : true,
clampToGround : true,
zIndex : 1
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(polylinePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polyline).toBeDefined();
expect(entity.polyline.material.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.1, 0.1, 0.1, 0.1));
expect(entity.polyline.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(polylinePacket.polyline.width);
expect(entity.polyline.material.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.polyline.material.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(1.0);
expect(entity.polyline.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.polyline.clampToGround.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.polyline.zIndex.getValue(Iso8601.MINIMUM_VALUE)).toEqual(1);
});
});
it('CZML adds data for infinite model.', function() {
var modelPacket = {
model : {
show : true,
scale : 3.0,
minimumPixelSize : 5.0,
maximumScale : 4.0,
gltf : './Data/Models/Box/CesiumBoxTest.gltf',
incrementallyLoadTextures : true,
shadows : 'ENABLED',
heightReference : 'CLAMP_TO_GROUND',
silhouetteColor : {
rgbaf : [1.0, 0.0, 0.0, 1.0]
},
silhouetteSize : 2.0,
color : {
rgbaf : [0.0, 1.0, 0.0, 0.2]
},
colorBlendMode : 'HIGHLIGHT',
colorBlendAmount : 0.5,
nodeTransformations : {
Mesh : {
scale : {
cartesian : [1.0, 2.0, 3.0]
},
translation : {
cartesian : [4.0, 5.0, 6.0]
},
rotation : {
unitQuaternion : [0.0, 0.707, 0.0, 0.707]
}
}
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(modelPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.model).toBeDefined();
expect(entity.model.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.model.scale.getValue(Iso8601.MINIMUM_VALUE)).toEqual(3.0);
expect(entity.model.minimumPixelSize.getValue(Iso8601.MINIMUM_VALUE)).toEqual(5.0);
expect(entity.model.maximumScale.getValue(Iso8601.MINIMUM_VALUE)).toEqual(4.0);
expect(entity.model.uri.getValue(Iso8601.MINIMUM_VALUE).url).toEqual('./Data/Models/Box/CesiumBoxTest.gltf');
expect(entity.model.incrementallyLoadTextures.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.model.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
expect(entity.model.heightReference.getValue(Iso8601.MINIMUM_VALUE)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(entity.model.silhouetteColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(1.0, 0.0, 0.0, 1.0));
expect(entity.model.silhouetteSize.getValue(Iso8601.MINIMUM_VALUE)).toEqual(2.0);
expect(entity.model.color.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.0, 1.0, 0.0, 0.2));
expect(entity.model.colorBlendMode.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ColorBlendMode.HIGHLIGHT);
expect(entity.model.colorBlendAmount.getValue(Iso8601.MINIMUM_VALUE)).toEqual(0.5);
var nodeTransform = entity.model.nodeTransformations.getValue(Iso8601.MINIMUM_VALUE).Mesh;
expect(nodeTransform).toBeDefined();
expect(nodeTransform.scale).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(nodeTransform.translation).toEqual(new Cartesian3(4.0, 5.0, 6.0));
var expectedRotation = new Quaternion(0.0, 0.707, 0.0, 0.707);
Quaternion.normalize(expectedRotation, expectedRotation);
expect(nodeTransform.rotation).toEqual(expectedRotation);
expect(entity.model.nodeTransformations.Mesh.scale.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(entity.model.nodeTransformations.Mesh.translation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(4.0, 5.0, 6.0));
expect(entity.model.nodeTransformations.Mesh.rotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedRotation);
});
});
it('CZML adds data for constrained model.', function() {
var modelPacket = {
model : {
interval : '2000-01-01/2001-01-01',
show : true,
scale : 3.0,
minimumPixelSize : 5.0,
gltf : './Data/Models/Box/CesiumBoxTest.gltf',
incrementallyLoadTextures : true,
shadows : 'ENABLED',
heightReference: 'CLAMP_TO_GROUND',
silhouetteColor : {
rgbaf : [1.0, 0.0, 0.0, 1.0]
},
silhouetteSize : 2.0,
color : {
rgbaf : [0.0, 1.0, 0.0, 0.2]
},
colorBlendMode : 'HIGHLIGHT',
colorBlendAmount : 0.5,
nodeTransformations : {
Mesh : {
scale : {
cartesian : [1.0, 2.0, 3.0]
},
translation : {
cartesian : [4.0, 5.0, 6.0]
},
rotation : {
unitQuaternion : [0.0, 0.707, 0.0, 0.707]
}
}
}
}
};
var validTime = TimeInterval.fromIso8601({
iso8601 : modelPacket.model.interval
}).start;
var invalidTime = JulianDate.addSeconds(validTime, -1, new JulianDate());
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(modelPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.model).toBeDefined();
expect(entity.model.show.getValue(validTime)).toEqual(true);
expect(entity.model.scale.getValue(validTime)).toEqual(3.0);
expect(entity.model.minimumPixelSize.getValue(validTime)).toEqual(5.0);
expect(entity.model.uri.getValue(validTime).url).toEqual('./Data/Models/Box/CesiumBoxTest.gltf');
expect(entity.model.incrementallyLoadTextures.getValue(validTime)).toEqual(true);
expect(entity.model.shadows.getValue(validTime)).toEqual(ShadowMode.ENABLED);
expect(entity.model.heightReference.getValue(validTime)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(entity.model.silhouetteColor.getValue(validTime)).toEqual(new Color(1.0, 0.0, 0.0, 1.0));
expect(entity.model.silhouetteSize.getValue(validTime)).toEqual(2.0);
expect(entity.model.color.getValue(validTime)).toEqual(new Color(0.0, 1.0, 0.0, 0.2));
expect(entity.model.colorBlendMode.getValue(validTime)).toEqual(ColorBlendMode.HIGHLIGHT);
expect(entity.model.colorBlendAmount.getValue(validTime)).toEqual(0.5);
var nodeTransform = entity.model.nodeTransformations.getValue(validTime).Mesh;
expect(nodeTransform).toBeDefined();
expect(nodeTransform.scale).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(nodeTransform.translation).toEqual(new Cartesian3(4.0, 5.0, 6.0));
var expectedRotation = new Quaternion(0.0, 0.707, 0.0, 0.707);
Quaternion.normalize(expectedRotation, expectedRotation);
expect(nodeTransform.rotation).toEqual(expectedRotation);
expect(entity.model.nodeTransformations.Mesh.scale.getValue(validTime)).toEqual(new Cartesian3(1.0, 2.0, 3.0));
expect(entity.model.nodeTransformations.Mesh.translation.getValue(validTime)).toEqual(new Cartesian3(4.0, 5.0, 6.0));
expect(entity.model.nodeTransformations.Mesh.rotation.getValue(validTime)).toEqual(expectedRotation);
expect(entity.model.show.getValue(invalidTime)).toBeUndefined();
expect(entity.model.scale.getValue(invalidTime)).toBeUndefined();
expect(entity.model.minimumPixelSize.getValue(invalidTime)).toBeUndefined();
expect(entity.model.uri.getValue(invalidTime)).toBeUndefined();
expect(entity.model.incrementallyLoadTextures.getValue(invalidTime)).toBeUndefined();
expect(entity.model.shadows.getValue(invalidTime)).toBeUndefined();
expect(entity.model.heightReference.getValue(invalidTime)).toBeUndefined();
expect(entity.model.color.getValue(invalidTime)).toBeUndefined();
expect(entity.model.silhouetteColor.getValue(invalidTime)).toBeUndefined();
expect(entity.model.silhouetteSize.getValue(invalidTime)).toBeUndefined();
expect(entity.model.colorBlendMode.getValue(invalidTime)).toBeUndefined();
expect(entity.model.colorBlendAmount.getValue(invalidTime)).toBeUndefined();
expect(entity.model.nodeTransformations.Mesh.getValue(invalidTime)).toEqual(new TranslationRotationScale());
expect(entity.model.nodeTransformations.Mesh.scale.getValue(invalidTime)).toBeUndefined();
expect(entity.model.nodeTransformations.Mesh.translation.getValue(invalidTime)).toBeUndefined();
expect(entity.model.nodeTransformations.Mesh.rotation.getValue(invalidTime)).toBeUndefined();
});
});
it('processCzml deletes an existing object.', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(staticCzml)).then(function(dataSource) {
var objects = dataSource.entities.values;
expect(objects.length).toEqual(1);
return dataSource.load(makePacket(czmlDelete));
}).then(function(dataSource) {
var objects = dataSource.entities.values;
expect(objects.length).toEqual(0);
});
});
it('Processes parent property.', function() {
var parentChildCzml = [{
id : 'document',
version : '1.0'
}, {
'id' : 'parent'
}, {
'id' : 'child',
'parent' : 'parent'
}];
var dataSource = new CzmlDataSource();
return dataSource.load(parentChildCzml).then(function(dataSource) {
var objects = dataSource.entities;
var parent = objects.getById('parent');
expect(parent.parent).toBeUndefined();
var child = objects.getById('child');
expect(child.parent).toBe(parent);
});
});
it('Processes parent property out of order.', function() {
var parentChildCzml = [{
id : 'document',
version : '1.0'
}, {
id : 'child',
parent : 'parent'
}, {
id : 'child2',
parent : 'parent'
}, {
id : 'grandparent'
}, {
id : 'grandparent2'
}, {
id : 'parent',
parent : 'grandparent'
}, {
id : 'parent2',
parent : 'grandparent'
}];
var dataSource = new CzmlDataSource();
return dataSource.load(parentChildCzml).then(function(dataSource) {
var objects = dataSource.entities;
var grandparent = objects.getById('grandparent');
expect(grandparent.parent).toBeUndefined();
var grandparent2 = objects.getById('grandparent');
expect(grandparent2.parent).toBeUndefined();
var parent = objects.getById('parent');
expect(parent.parent).toBe(grandparent);
var parent2 = objects.getById('parent2');
expect(parent2.parent).toBe(grandparent);
var child = objects.getById('child');
expect(child.parent).toBe(parent);
var child2 = objects.getById('child2');
expect(child2.parent).toBe(parent);
});
});
it('Processes JulianDate packets.', function() {
var date = JulianDate.fromIso8601('2000-01-01');
var object = {};
CzmlDataSource.processPacketData(JulianDate, object, 'simpleDate', JulianDate.toIso8601(date));
expect(object.simpleDate).toBeDefined();
expect(object.simpleDate.getValue()).toEqual(date);
CzmlDataSource.processPacketData(JulianDate, object, 'objDate', {
date : JulianDate.toIso8601(date)
});
expect(object.objDate).toBeDefined();
expect(object.objDate.getValue()).toEqual(date);
});
it('Processes array packets.', function() {
var arrayPacket = {
array : [1, 2, 3, 4, 5]
};
var object = {};
CzmlDataSource.processPacketData(Array, object, 'arrayData', arrayPacket);
expect(object.arrayData).toBeDefined();
expect(object.arrayData.getValue()).toEqual(arrayPacket.array);
});
it('CZML load suspends events.', function() {
var packets = [{
id : 'document',
version : '1.0'
}, {
point : {
show : true,
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
}, {
point : {
show : false,
color : {
rgbaf : [0.1, 0.1, 0.1, 0.1]
}
}
}];
var spy = jasmine.createSpy('changedEvent');
var dataSource = new CzmlDataSource();
dataSource.entities.collectionChanged.addEventListener(spy);
return dataSource.load(packets).then(function(dataSource) {
expect(spy.calls.count()).toEqual(1);
});
});
it('CZML materials work with composite interval', function() {
var before = JulianDate.fromIso8601('2012-03-15T09:23:59Z');
var solid = JulianDate.fromIso8601('2012-03-15T10:00:00Z');
var grid1 = JulianDate.fromIso8601('2012-03-15T11:00:00Z');
var grid2 = JulianDate.fromIso8601('2012-03-15T12:00:00Z');
var after = JulianDate.fromIso8601('2012-03-15T12:00:01Z');
var packet = {
polygon : {
material : [{
interval : '2012-03-15T10:00:00Z/2012-03-15T11:00:00Z',
interpolationAlgorithm : 'LINEAR',
interpolationDegree : 1,
epoch : '2012-03-15T10:00:00Z',
solidColor : {
color : {
rgba : [240, 0, 0, 0]
}
}
}, {
interval : '2012-03-15T11:00:00Z/2012-03-15T12:00:00Z',
interpolationAlgorithm : 'LINEAR',
interpolationDegree : 1,
epoch : '2012-03-15T11:00:00Z',
grid : {
color : {
rgba : [240, 255, 255, 255]
},
cellAlpha : 0,
lineCount : {
cartesian2 : [36, 9]
},
lineThickness : {
cartesian2 : [1, 1]
},
lineOffset : {
cartesian2 : [0.5, 0.5]
}
}
}]
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.polygon.material.getType(solid)).toBe('Color');
expect(entity.polygon.material.getType(grid1)).toBe('Grid');
expect(entity.polygon.material.getType(grid2)).toBe('Grid');
expect(entity.polygon.material.getType(before)).toBeUndefined();
expect(entity.polygon.material.getType(after)).toBeUndefined();
});
});
it('CZML adds data for rectangle.', function() {
var rectanglePacket = {
rectangle : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
},
coordinates : {
wsen : [0, 1, 2, 3]
},
height : 1,
extrudedHeight : 2,
granularity : 3,
rotation : 4,
stRotation : 5,
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
shadows : 'ENABLED',
zIndex : 6
}
};
var czmlRectangle = rectanglePacket.rectangle;
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(rectanglePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.rectangle).toBeDefined();
expect(entity.rectangle.coordinates.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Rectangle(0, 1, 2, 3));
expect(entity.rectangle.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.rectangle.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.show);
expect(entity.rectangle.height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.height);
expect(entity.rectangle.extrudedHeight.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.extrudedHeight);
expect(entity.rectangle.granularity.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.granularity);
expect(entity.rectangle.rotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.rotation);
expect(entity.rectangle.stRotation.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.stRotation);
expect(entity.rectangle.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.rectangle.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.rectangle.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.rectangle.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
expect(entity.rectangle.zIndex.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
});
});
it('can handle constant rectangle coordinates in degrees.', function() {
var rectanglePacket = {
rectangle : {
coordinates : {
wsenDegrees : [0, 1, 2, 3]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(rectanglePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.rectangle.coordinates.getValue(Iso8601.MINIMUM_VALUE)).toEqual(Rectangle.fromDegrees(0, 1, 2, 3));
});
});
it('can handle sampled rectangle coordinates.', function() {
var epoch = JulianDate.now();
var rectanglePacket = {
rectangle : {
coordinates : {
epoch : JulianDate.toIso8601(epoch),
wsen : [0.0, 1.0, 2.0, 3.0, 4.0,
1.0, 3.0, 4.0, 5.0, 6.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(rectanglePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.rectangle).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 0.5, new JulianDate());
var date3 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
expect(entity.rectangle.coordinates.getValue(date1)).toEqual(new Rectangle(1.0, 2.0, 3.0, 4.0));
expect(entity.rectangle.coordinates.getValue(date2)).toEqual(new Rectangle(2.0, 3.0, 4.0, 5.0));
expect(entity.rectangle.coordinates.getValue(date3)).toEqual(new Rectangle(3.0, 4.0, 5.0, 6.0));
});
});
it('can handle sampled rectangle coordinates in degrees.', function() {
var epoch = JulianDate.now();
var rectanglePacket = {
rectangle : {
coordinates : {
epoch : JulianDate.toIso8601(epoch),
wsenDegrees : [0.0, 1.0, 2.0, 3.0, 4.0,
1.0, 3.0, 4.0, 5.0, 6.0]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(rectanglePacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.rectangle).toBeDefined();
var date1 = epoch;
var date2 = JulianDate.addSeconds(epoch, 0.5, new JulianDate());
var date3 = JulianDate.addSeconds(epoch, 1.0, new JulianDate());
expect(entity.rectangle.coordinates.getValue(date1)).toEqual(Rectangle.fromDegrees(1.0, 2.0, 3.0, 4.0));
expect(entity.rectangle.coordinates.getValue(date2)).toEqualEpsilon(Rectangle.fromDegrees(2.0, 3.0, 4.0, 5.0), CesiumMath.EPSILON15);
expect(entity.rectangle.coordinates.getValue(date3)).toEqual(Rectangle.fromDegrees(3.0, 4.0, 5.0, 6.0));
});
});
it('CZML adds data for wall.', function() {
var wallPacket = {
wall : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
},
granularity : 3,
minimumHeights : {
array : [1, 2, 3]
},
maximumHeights : {
array : [4, 5, 6]
},
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
shadows : 'ENABLED'
}
};
var czmlRectangle = wallPacket.wall;
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(wallPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.wall).toBeDefined();
expect(entity.wall.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.wall.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.show);
expect(entity.wall.granularity.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.granularity);
expect(entity.wall.minimumHeights.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.minimumHeights.array);
expect(entity.wall.maximumHeights.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlRectangle.maximumHeights.array);
expect(entity.wall.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.wall.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.wall.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.wall.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
});
});
it('CZML adds data for wall with minimumHeights as references.', function() {
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'obj1',
billboard : {
scale : 1.0
}
}, {
id : 'obj2',
billboard : {
scale : 4.0
}
}, {
id : 'wall',
wall : {
minimumHeights : {
references : ['obj1#billboard.scale', 'obj2#billboard.scale']
},
maximumHeights : {
references : ['obj2#billboard.scale', 'obj1#billboard.scale']
}
}
}];
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var entity = dataSource.entities.getById('wall');
expect(entity.wall).toBeDefined();
expect(entity.wall.minimumHeights.getValue(Iso8601.MINIMUM_VALUE)).toEqual([packets[1].billboard.scale, packets[2].billboard.scale]);
expect(entity.wall.maximumHeights.getValue(Iso8601.MINIMUM_VALUE)).toEqual([packets[2].billboard.scale, packets[1].billboard.scale]);
});
});
it('CZML adds data for box.', function() {
var boxPacket = {
box : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
},
dimensions : {
cartesian : [1, 2, 3]
},
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
shadows : 'ENABLED'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(boxPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.box).toBeDefined();
expect(entity.box.dimensions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Cartesian3(1, 2, 3));
expect(entity.box.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.box.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.box.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.box.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.box.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.box.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
});
});
it('CZML adds data for cylinder.', function() {
var cylinderPacket = {
cylinder : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
},
length : 5,
topRadius: 6,
bottomRadius: 7,
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
numberOfVerticalLines : 15,
slices : 100,
shadows : 'ENABLED'
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(cylinderPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.cylinder).toBeDefined();
expect(entity.cylinder.length.getValue(Iso8601.MINIMUM_VALUE)).toEqual(5);
expect(entity.cylinder.topRadius.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.cylinder.bottomRadius.getValue(Iso8601.MINIMUM_VALUE)).toEqual(7);
expect(entity.cylinder.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.cylinder.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.cylinder.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.cylinder.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.cylinder.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.cylinder.numberOfVerticalLines.getValue(Iso8601.MINIMUM_VALUE)).toEqual(15);
expect(entity.cylinder.slices.getValue(Iso8601.MINIMUM_VALUE)).toEqual(100);
expect(entity.cylinder.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
});
});
it('CZML adds data for corridor.', function() {
var expectedResult = [new Cartesian3(1.0, 2.0, 3.0), new Cartesian3(5.0, 6.0, 7.0)];
var corridorPacket = {
corridor : {
material : {
solidColor : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
},
positions : {
cartesian : [expectedResult[0].x, expectedResult[0].y, expectedResult[0].z, expectedResult[1].x, expectedResult[1].y, expectedResult[1].z]
},
cornerType : 'MITERED',
extrudedHeight : 2,
granularity : 3,
height : 4,
width: 9,
show : true,
outline : true,
outlineColor : {
rgbaf : [0.2, 0.2, 0.2, 0.2]
},
outlineWidth : 6,
shadows : 'ENABLED',
zIndex: 5
}
};
var czmlCorridor = corridorPacket.corridor;
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(corridorPacket)).then(function(dataSource) {
var entity = dataSource.entities.values[0];
expect(entity.corridor).toBeDefined();
expect(entity.corridor.positions.getValue(Iso8601.MINIMUM_VALUE)).toEqual(expectedResult);
expect(entity.corridor.material.getValue(Iso8601.MINIMUM_VALUE).color).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.corridor.show.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.show);
expect(entity.corridor.height.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.height);
expect(entity.corridor.width.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.width);
expect(entity.corridor.cornerType.getValue(Iso8601.MINIMUM_VALUE)).toEqual(CornerType.MITERED);
expect(entity.corridor.extrudedHeight.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.extrudedHeight);
expect(entity.corridor.granularity.getValue(Iso8601.MINIMUM_VALUE)).toEqual(czmlCorridor.granularity);
expect(entity.corridor.outline.getValue(Iso8601.MINIMUM_VALUE)).toEqual(true);
expect(entity.corridor.outlineColor.getValue(Iso8601.MINIMUM_VALUE)).toEqual(new Color(0.2, 0.2, 0.2, 0.2));
expect(entity.corridor.outlineWidth.getValue(Iso8601.MINIMUM_VALUE)).toEqual(6);
expect(entity.corridor.shadows.getValue(Iso8601.MINIMUM_VALUE)).toEqual(ShadowMode.ENABLED);
expect(entity.corridor.zIndex.getValue(Iso8601.MINIMUM_VALUE)).toEqual(5);
});
});
it('Has entity collection with link to data source', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(nameCzml).then(function(dataSource) {
var entityCollection = dataSource.entities;
expect(entityCollection.owner).toEqual(dataSource);
});
});
it('Has entity with link to entity collection', function() {
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(staticCzml)).then(function(dataSource) {
var entityCollection = dataSource.entities;
var entity = entityCollection.values[0];
expect(entity.entityCollection).toEqual(entityCollection);
});
});
it('Can use constant reference properties', function() {
var time = JulianDate.now();
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'targetId',
point : {
pixelSize : 1.0
}
}, {
id : 'referenceId',
point : {
pixelSize : {
reference : 'targetId#point.pixelSize'
}
}
}];
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('targetId');
var referenceObject = dataSource.entities.getById('referenceId');
expect(referenceObject.point.pixelSize instanceof ReferenceProperty).toBe(true);
expect(targetEntity.point.pixelSize.getValue(time)).toEqual(referenceObject.point.pixelSize.getValue(time));
});
});
it('Can use interval reference properties', function() {
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'targetId',
point : {
pixelSize : 1.0
}
}, {
id : 'targetId2',
point : {
pixelSize : 2.0
}
}, {
id : 'referenceId',
point : {
pixelSize : [{
interval : '2012/2013',
reference : 'targetId#point.pixelSize'
}, {
interval : '2013/2014',
reference : 'targetId2#point.pixelSize'
}]
}
}];
var time1 = JulianDate.fromIso8601('2012');
var time2 = JulianDate.fromIso8601('2014');
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('targetId');
var targetEntity2 = dataSource.entities.getById('targetId2');
var referenceObject = dataSource.entities.getById('referenceId');
expect(targetEntity.point.pixelSize.getValue(time1)).toEqual(referenceObject.point.pixelSize.getValue(time1));
expect(targetEntity2.point.pixelSize.getValue(time2)).toEqual(referenceObject.point.pixelSize.getValue(time2));
});
});
it('Can use constant reference properties for position', function() {
var time = JulianDate.now();
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'targetId',
position : {
cartesian : [1.0, 2.0, 3.0]
}
}, {
id : 'referenceId',
position : {
reference : 'targetId#position'
}
}];
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('targetId');
var referenceObject = dataSource.entities.getById('referenceId');
expect(referenceObject.position instanceof ReferenceProperty).toBe(true);
expect(targetEntity.position.getValue(time)).toEqual(referenceObject.position.getValue(time));
});
});
it('Can use interval reference properties for positions', function() {
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'targetId',
position : {
cartesian : [1.0, 2.0, 3.0]
}
}, {
id : 'targetId2',
position : {
cartesian : [4.0, 5.0, 6.0]
}
}, {
id : 'referenceId',
position : [{
interval : '2012/2013',
reference : 'targetId#position'
}, {
interval : '2013/2014',
reference : 'targetId2#position'
}]
}];
var time1 = JulianDate.fromIso8601('2012');
var time2 = JulianDate.fromIso8601('2014');
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('targetId');
var targetEntity2 = dataSource.entities.getById('targetId2');
var referenceObject = dataSource.entities.getById('referenceId');
expect(targetEntity.position.getValue(time1)).toEqual(referenceObject.position.getValue(time1));
expect(targetEntity2.position.getValue(time2)).toEqual(referenceObject.position.getValue(time2));
});
});
it('Can reference properties before they exist.', function() {
var time = JulianDate.now();
var packets = [{
id : 'document',
version : '1.0'
}, {
id : 'referenceId',
point : {
pixelSize : {
reference : 'targetId#point.pixelSize'
}
}
}, {
id : 'targetId',
point : {
pixelSize : 1.0
}
}];
var dataSource = new CzmlDataSource();
return dataSource.load(packets).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('targetId');
var referenceObject = dataSource.entities.getById('referenceId');
expect(referenceObject.point.pixelSize instanceof ReferenceProperty).toBe(true);
expect(targetEntity.point.pixelSize.getValue(time)).toEqual(referenceObject.point.pixelSize.getValue(time));
});
});
it('Can reference local properties.', function() {
var time = JulianDate.now();
var packet = {
id : 'testObject',
point : {
pixelSize : 1.0,
outlineWidth : {
reference : '#point.pixelSize'
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var targetEntity = dataSource.entities.getById('testObject');
expect(targetEntity.point.outlineWidth instanceof ReferenceProperty).toBe(true);
expect(targetEntity.point.outlineWidth.getValue(time)).toEqual(targetEntity.point.pixelSize.getValue(time));
});
});
it('Polyline glow.', function() {
var packet = {
id : 'polylineGlow',
polyline : {
material : {
polylineGlow : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
},
glowPower : 0.75
}
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('polylineGlow');
expect(entity.polyline.material.color.getValue()).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.polyline.material.glowPower.getValue()).toEqual(0.75);
});
});
it('Polyline arrow.', function() {
var packet = {
id : 'polylineArrow',
polyline : {
material : {
polylineArrow : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
}
}
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('polylineArrow');
expect(entity.polyline.material.color.getValue()).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
});
});
it('Polyline dash.', function() {
var packet = {
id : 'polylineDash',
polyline : {
material : {
polylineDash : {
color : {
rgbaf : [0.1, 0.2, 0.3, 0.4]
},
dashLength: 16.0,
dashPattern: 7.0
}
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('polylineDash');
expect(entity.polyline.material.color.getValue()).toEqual(new Color(0.1, 0.2, 0.3, 0.4));
expect(entity.polyline.material.dashLength.getValue()).toEqual(16.0);
expect(entity.polyline.material.dashPattern.getValue()).toEqual(7.0);
});
});
it('Processes extrapolation options', function() {
var packet = {
id : 'point',
position : {
forwardExtrapolationType : 'HOLD',
forwardExtrapolationDuration : 2.0,
backwardExtrapolationType : 'NONE',
backwardExtrapolationDuration : 1.0,
cartesian : ['2012', 0, 0, 0]
},
point : {
color : {
forwardExtrapolationType : 'NONE',
forwardExtrapolationDuration : 1.0,
backwardExtrapolationType : 'HOLD',
backwardExtrapolationDuration : 2.0,
rgbaf : ['2012', 0.1, 0.2, 0.3, 0.4]
}
}
};
var dataSource = new CzmlDataSource();
return dataSource.load(makePacket(packet)).then(function(dataSource) {
var entity = dataSource.entities.getById('point');
var color = entity.point.color;
expect(color.forwardExtrapolationType).toEqual(ExtrapolationType.NONE);
expect(color.forwardExtrapolationDuration).toEqual(1.0);
expect(color.backwardExtrapolationType).toEqual(ExtrapolationType.HOLD);
expect(color.backwardExtrapolationDuration).toEqual(2.0);
var position = entity.position;
expect(position.forwardExtrapolationType).toEqual(ExtrapolationType.HOLD);
expect(position.forwardExtrapolationDuration).toEqual(2.0);
expect(position.backwardExtrapolationType).toEqual(ExtrapolationType.NONE);
expect(position.backwardExtrapolationDuration).toEqual(1.0);
});
});
it('rejects if first document packet lacks version information', function() {
return CzmlDataSource.load({
id : 'document'
}).then(function() {
fail('should not be called');
}).otherwise(function(error) {
expect(error).toBeInstanceOf(RuntimeError);
expect(error.message).toEqual('CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.');
});
});
it('rejects if first packet is not document', function() {
return CzmlDataSource.load({
id : 'someId'
}).then(function() {
fail('should not be called');
}).otherwise(function(error) {
expect(error).toBeInstanceOf(RuntimeError);
expect(error.message).toEqual('The first CZML packet is required to be the document object.');
});
});
it('rejects if document packet contains bad version', function() {
return CzmlDataSource.load({
id : 'document'
}).then(function() {
fail('should not be called');
}).otherwise(function(error) {
expect(error).toBeInstanceOf(RuntimeError);
expect(error.message).toContain('CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.');
});
});
// The below test was generated, along with ValidationDocument.czml,
// by the czml-writer ValidationDocumentationGenerator.
// https://github.com/AnalyticalGraphicsInc/czml-writer/blob/master/DotNet/GenerateFromSchema/ValidationDocumentGenerator.cs
// using command line
// GenerateFromSchema.exe -p ..\..\..\..\Schema\Packet.json -t validation -o ..\..\..\CesiumLanguageWriterTests\
// then running the generated TestGenerateValidationDocument unit test
// to produce ValidationDocument.czml and ValidationDocumentAssertions.js
it('checks validation document', function() {
return CzmlDataSource.load('Data/CZML/ValidationDocument.czml').then(function(dataSource) {
var e;
var date;
var documentStartDate = JulianDate.fromIso8601('2016-06-17T12:00:00Z');
var documentStopDate = JulianDate.fromIso8601('2016-06-17T13:00:00Z');
expect(dataSource.clock.startTime).toEqual(documentStartDate);
expect(dataSource.clock.stopTime).toEqual(documentStopDate);
expect(dataSource.clock.currentTime).toEqual(documentStartDate);
expect(dataSource.clock.multiplier).toEqual(1.0);
expect(dataSource.clock.clockRange).toEqual(ClockRange.UNBOUNDED);
expect(dataSource.clock.clockStep).toEqual(ClockStep.SYSTEM_CLOCK_MULTIPLIER);
var constant = e = dataSource.entities.getById('Constant');
expect(e).toBeDefined();
date = JulianDate.now();
expect(e.description.getValue(date)).toEqual('string31449');
expect(e.position.getValue(date)).toEqual(new Cartesian3(24944, 16481, 24896));
expect(e.orientation.getValue(date)).toEqualEpsilon(new Quaternion(0.431493311977589, 0.560811914509339, 0.423522822587574, 0.565625261998114), 1e-14);
expect(e.viewFrom.getValue(date)).toEqual(new Cartesian3(17794, 13381, 18228));
expect(e.billboard.show.getValue(date)).toEqual(true);
expect(e.billboard.image.getValue(date).url).toEqual('http://example.com/3792');
expect(e.billboard.scale.getValue(date)).toEqual(27514.0);
expect(e.billboard.pixelOffset.getValue(date)).toEqual(new Cartesian2(16996, 51010));
expect(e.billboard.eyeOffset.getValue(date)).toEqual(new Cartesian3(64633, 11516, 17196));
expect(e.billboard.horizontalOrigin.getValue(date)).toEqual(HorizontalOrigin.LEFT);
expect(e.billboard.verticalOrigin.getValue(date)).toEqual(VerticalOrigin.BOTTOM);
expect(e.billboard.heightReference.getValue(date)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(e.billboard.color.getValue(date)).toEqual(Color.fromBytes(87, 118, 167, 140));
expect(e.billboard.rotation.getValue(date)).toEqual(57379.0);
expect(e.billboard.alignedAxis.getValue(date)).toEqualEpsilon(new Cartesian3(0.205062091895724, 0.975768213485699, 0.0763277932228903), 1e-14);
expect(e.billboard.sizeInMeters.getValue(date)).toEqual(true);
expect(e.billboard.width.getValue(date)).toEqual(25197.0);
expect(e.billboard.height.getValue(date)).toEqual(53328.0);
expect(e.billboard.scaleByDistance.getValue(date)).toEqual(new NearFarScalar(59318, 31207, 63353, 55287));
expect(e.billboard.translucencyByDistance.getValue(date)).toEqual(new NearFarScalar(43707, 31146, 12921, 57138));
expect(e.billboard.pixelOffsetScaleByDistance.getValue(date)).toEqual(new NearFarScalar(11873, 40494, 29598, 27507));
expect(e.billboard.imageSubRegion.getValue(date)).toEqual(new BoundingRectangle(62620, 63220, 23030, 63321));
expect(e.billboard.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(22843, 27481));
expect(e.billboard.disableDepthTestDistance.getValue(date)).toEqual(39764.0);
expect(e.box.show.getValue(date)).toEqual(true);
expect(e.box.dimensions.getValue(date)).toEqual(new Cartesian3(57494, 62432, 42995));
expect(e.box.fill.getValue(date)).toEqual(true);
expect(e.box.material.color.getValue(date)).toEqual(Color.fromBytes(88, 226, 91, 144));
expect(e.box.outline.getValue(date)).toEqual(true);
expect(e.box.outlineColor.getValue(date)).toEqual(Color.fromBytes(121, 42, 244, 168));
expect(e.box.outlineWidth.getValue(date)).toEqual(15323.0);
expect(e.box.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.box.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(3775, 49016));
expect(e.corridor.show.getValue(date)).toEqual(true);
expect(e.corridor.positions.getValue(date)).toEqual([ new Cartesian3(36415, 2702, 36618), new Cartesian3(47759, 11706, 63277) ]);
expect(e.corridor.width.getValue(date)).toEqual(20413.0);
expect(e.corridor.height.getValue(date)).toEqual(8062.0);
expect(e.corridor.extrudedHeight.getValue(date)).toEqual(22846.0);
expect(e.corridor.cornerType.getValue(date)).toEqual(CornerType.BEVELED);
expect(e.corridor.granularity.getValue(date)).toEqual(44105.0);
expect(e.corridor.fill.getValue(date)).toEqual(true);
expect(e.corridor.material.color.getValue(date)).toEqual(Color.fromBytes(230, 252, 22, 236));
expect(e.corridor.outline.getValue(date)).toEqual(true);
expect(e.corridor.outlineColor.getValue(date)).toEqual(Color.fromBytes(198, 25, 134, 60));
expect(e.corridor.outlineWidth.getValue(date)).toEqual(9132.0);
expect(e.corridor.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.corridor.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(15797, 46507));
expect(e.cylinder.show.getValue(date)).toEqual(true);
expect(e.cylinder.length.getValue(date)).toEqual(33298.0);
expect(e.cylinder.topRadius.getValue(date)).toEqual(16245.0);
expect(e.cylinder.bottomRadius.getValue(date)).toEqual(59378.0);
expect(e.cylinder.fill.getValue(date)).toEqual(true);
expect(e.cylinder.material.color.getValue(date)).toEqual(Color.fromBytes(216, 68, 53, 64));
expect(e.cylinder.outline.getValue(date)).toEqual(true);
expect(e.cylinder.outlineColor.getValue(date)).toEqual(Color.fromBytes(4, 90, 209, 96));
expect(e.cylinder.outlineWidth.getValue(date)).toEqual(64018.0);
expect(e.cylinder.numberOfVerticalLines.getValue(date)).toEqual(38567.0);
expect(e.cylinder.slices.getValue(date)).toEqual(39979.0);
expect(e.cylinder.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.cylinder.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(43860, 52395));
expect(e.ellipse.show.getValue(date)).toEqual(true);
expect(e.ellipse.semiMajorAxis.getValue(date)).toEqual(60072.0);
expect(e.ellipse.semiMinorAxis.getValue(date)).toEqual(38653.0);
expect(e.ellipse.height.getValue(date)).toEqual(15549.0);
expect(e.ellipse.extrudedHeight.getValue(date)).toEqual(55640.0);
expect(e.ellipse.rotation.getValue(date)).toEqual(27722.0);
expect(e.ellipse.stRotation.getValue(date)).toEqual(4692.0);
expect(e.ellipse.granularity.getValue(date)).toEqual(62192.0);
expect(e.ellipse.fill.getValue(date)).toEqual(true);
expect(e.ellipse.material.color.getValue(date)).toEqual(Color.fromBytes(116, 186, 200, 40));
expect(e.ellipse.outline.getValue(date)).toEqual(true);
expect(e.ellipse.outlineColor.getValue(date)).toEqual(Color.fromBytes(160, 82, 145, 104));
expect(e.ellipse.outlineWidth.getValue(date)).toEqual(8839.0);
expect(e.ellipse.numberOfVerticalLines.getValue(date)).toEqual(38878.0);
expect(e.ellipse.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.ellipse.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(27813, 30828));
expect(e.ellipsoid.show.getValue(date)).toEqual(true);
expect(e.ellipsoid.radii.getValue(date)).toEqual(new Cartesian3(15638, 24381, 37983));
expect(e.ellipsoid.fill.getValue(date)).toEqual(true);
expect(e.ellipsoid.material.color.getValue(date)).toEqual(Color.fromBytes(202, 67, 110, 69));
expect(e.ellipsoid.outline.getValue(date)).toEqual(true);
expect(e.ellipsoid.outlineColor.getValue(date)).toEqual(Color.fromBytes(55, 23, 226, 7));
expect(e.ellipsoid.outlineWidth.getValue(date)).toEqual(47507.0);
expect(e.ellipsoid.stackPartitions.getValue(date)).toEqual(54278);
expect(e.ellipsoid.slicePartitions.getValue(date)).toEqual(28562);
expect(e.ellipsoid.subdivisions.getValue(date)).toEqual(14008.0);
expect(e.ellipsoid.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.ellipsoid.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(3293, 56793));
expect(e.label.show.getValue(date)).toEqual(true);
expect(e.label.text.getValue(date)).toEqual('string36641');
expect(e.label.font.getValue(date)).toEqual('14px sans-serif');
expect(e.label.style.getValue(date)).toEqual(LabelStyle.FILL_AND_OUTLINE);
expect(e.label.scale.getValue(date)).toEqual(6510.0);
expect(e.label.showBackground.getValue(date)).toEqual(true);
expect(e.label.backgroundColor.getValue(date)).toEqual(Color.fromBytes(225, 114, 54, 128));
expect(e.label.backgroundPadding.getValue(date)).toEqual(new Cartesian2(5508, 56341));
expect(e.label.pixelOffset.getValue(date)).toEqual(new Cartesian2(25913, 30821));
expect(e.label.eyeOffset.getValue(date)).toEqual(new Cartesian3(30502, 29047, 25457));
expect(e.label.horizontalOrigin.getValue(date)).toEqual(HorizontalOrigin.LEFT);
expect(e.label.verticalOrigin.getValue(date)).toEqual(VerticalOrigin.BOTTOM);
expect(e.label.heightReference.getValue(date)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(e.label.fillColor.getValue(date)).toEqual(Color.fromBytes(88, 197, 147, 137));
expect(e.label.outlineColor.getValue(date)).toEqual(Color.fromBytes(171, 128, 159, 223));
expect(e.label.outlineWidth.getValue(date)).toEqual(36637.0);
expect(e.label.translucencyByDistance.getValue(date)).toEqual(new NearFarScalar(34067, 16517, 11328, 13612));
expect(e.label.pixelOffsetScaleByDistance.getValue(date)).toEqual(new NearFarScalar(21220, 35154, 33161, 36737));
expect(e.label.scaleByDistance.getValue(date)).toEqual(new NearFarScalar(7350, 32796, 1408, 55045));
expect(e.label.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(5204, 21012));
expect(e.label.disableDepthTestDistance.getValue(date)).toEqual(17959.0);
expect(e.model.show.getValue(date)).toEqual(true);
expect(e.model.uri.getValue(date).url).toEqual('http://example.com/60043');
expect(e.model.scale.getValue(date)).toEqual(44278.0);
expect(e.model.minimumPixelSize.getValue(date)).toEqual(35888.0);
expect(e.model.maximumScale.getValue(date)).toEqual(64305.0);
expect(e.model.incrementallyLoadTextures.getValue(date)).toEqual(true);
expect(e.model.runAnimations.getValue(date)).toEqual(true);
expect(e.model.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.model.heightReference.getValue(date)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(e.model.silhouetteColor.getValue(date)).toEqual(Color.fromBytes(29, 61, 52, 101));
expect(e.model.silhouetteSize.getValue(date)).toEqual(4645.0);
expect(e.model.color.getValue(date)).toEqual(Color.fromBytes(0, 52, 75, 73));
expect(e.model.colorBlendMode.getValue(date)).toEqual(ColorBlendMode.REPLACE);
expect(e.model.colorBlendAmount.getValue(date)).toEqual(7475.0);
expect(e.model.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(31861, 62844));
expect(e.model.nodeTransformations.prop.translation.getValue(date)).toEqual(new Cartesian3(18548, 48456, 21181));
expect(e.model.nodeTransformations.prop.rotation.getValue(date)).toEqualEpsilon(new Quaternion(0.527960606328925, 0.567156704919186, 0.624812964569899, 0.0959146992664751), 1e-14);
expect(e.model.nodeTransformations.prop.scale.getValue(date)).toEqual(new Cartesian3(53739, 37841, 41107));
expect(e.path.show.getValue(date)).toEqual(true);
expect(e.path.width.getValue(date)).toEqual(56040.0);
expect(e.path.resolution.getValue(date)).toEqual(31563.0);
expect(e.path.leadTime.getValue(date)).toEqual(5997.0);
expect(e.path.trailTime.getValue(date)).toEqual(52915.0);
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(10, 78, 168, 13));
expect(e.path.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(11646, 32422));
expect(e.point.show.getValue(date)).toEqual(true);
expect(e.point.pixelSize.getValue(date)).toEqual(53869.0);
expect(e.point.heightReference.getValue(date)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(e.point.color.getValue(date)).toEqual(Color.fromBytes(3, 147, 219, 77));
expect(e.point.outlineColor.getValue(date)).toEqual(Color.fromBytes(254, 106, 11, 94));
expect(e.point.outlineWidth.getValue(date)).toEqual(27922.0);
expect(e.point.scaleByDistance.getValue(date)).toEqual(new NearFarScalar(20128, 16462, 49728, 18882));
expect(e.point.translucencyByDistance.getValue(date)).toEqual(new NearFarScalar(52796, 43982, 61099, 50158));
expect(e.point.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(29646, 52915));
expect(e.point.disableDepthTestDistance.getValue(date)).toEqual(9675.0);
expect(e.polygon.show.getValue(date)).toEqual(true);
expect(e.polygon.hierarchy.getValue(date)).toEqual([ new Cartesian3(39143, 2200, 6408), new Cartesian3(27161, 33386, 62338) ]);
expect(e.polygon.height.getValue(date)).toEqual(26391.0);
expect(e.polygon.extrudedHeight.getValue(date)).toEqual(15922.0);
expect(e.polygon.stRotation.getValue(date)).toEqual(2555.0);
expect(e.polygon.granularity.getValue(date)).toEqual(17060.0);
expect(e.polygon.fill.getValue(date)).toEqual(true);
expect(e.polygon.material.color.getValue(date)).toEqual(Color.fromBytes(216, 139, 124, 253));
expect(e.polygon.outline.getValue(date)).toEqual(true);
expect(e.polygon.outlineColor.getValue(date)).toEqual(Color.fromBytes(172, 48, 134, 87));
expect(e.polygon.outlineWidth.getValue(date)).toEqual(62220.0);
expect(e.polygon.perPositionHeight.getValue(date)).toEqual(true);
expect(e.polygon.closeTop.getValue(date)).toEqual(true);
expect(e.polygon.closeBottom.getValue(date)).toEqual(true);
expect(e.polygon.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.polygon.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(5989, 26104));
expect(e.polyline.show.getValue(date)).toEqual(true);
expect(e.polyline.positions.getValue(date)).toEqual([ new Cartesian3(23333, 31067, 17529), new Cartesian3(57924, 41186, 31648) ]);
expect(e.polyline.width.getValue(date)).toEqual(14667.0);
expect(e.polyline.granularity.getValue(date)).toEqual(53395.0);
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(88, 0, 232, 230));
expect(e.polyline.followSurface.getValue(date)).toEqual(true);
expect(e.polyline.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(197, 195, 115, 198));
expect(e.polyline.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(5807, 30486));
expect(e.rectangle.show.getValue(date)).toEqual(true);
expect(e.rectangle.coordinates.getValue(date)).toEqual(new Rectangle(1.13325368272577, 0.703573207377445, 0.756676249095309, 0.339217858685931));
expect(e.rectangle.height.getValue(date)).toEqual(20608.0);
expect(e.rectangle.extrudedHeight.getValue(date)).toEqual(23002.0);
expect(e.rectangle.rotation.getValue(date)).toEqual(54979.0);
expect(e.rectangle.stRotation.getValue(date)).toEqual(8079.0);
expect(e.rectangle.granularity.getValue(date)).toEqual(60343.0);
expect(e.rectangle.fill.getValue(date)).toEqual(true);
expect(e.rectangle.material.color.getValue(date)).toEqual(Color.fromBytes(160, 249, 70, 249));
expect(e.rectangle.outline.getValue(date)).toEqual(true);
expect(e.rectangle.outlineColor.getValue(date)).toEqual(Color.fromBytes(196, 59, 142, 36));
expect(e.rectangle.outlineWidth.getValue(date)).toEqual(59794.0);
expect(e.rectangle.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.rectangle.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(21388, 23379));
expect(e.wall.show.getValue(date)).toEqual(true);
expect(e.wall.positions.getValue(date)).toEqual([ new Cartesian3(21681, 40276, 30621), new Cartesian3(3959, 61967, 19442) ]);
expect(e.wall.minimumHeights.getValue(date)).toEqual([ 49466, 44737 ]);
expect(e.wall.maximumHeights.getValue(date)).toEqual([ 59672, 62697 ]);
expect(e.wall.granularity.getValue(date)).toEqual(47652.0);
expect(e.wall.fill.getValue(date)).toEqual(true);
expect(e.wall.material.color.getValue(date)).toEqual(Color.fromBytes(64, 176, 190, 65));
expect(e.wall.outline.getValue(date)).toEqual(true);
expect(e.wall.outlineColor.getValue(date)).toEqual(Color.fromBytes(107, 196, 96, 198));
expect(e.wall.outlineWidth.getValue(date)).toEqual(50458.0);
expect(e.wall.shadows.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.wall.distanceDisplayCondition.getValue(date)).toEqual(new DistanceDisplayCondition(27810, 41691));
expect(e = dataSource.entities.getById('constant_position_cartographicRadians')).toBeDefined();
expect(e.position.getValue(date)).toEqual(Cartesian3.fromRadians(0.368123392863751, 0.678098621973879, 32050));
expect(e = dataSource.entities.getById('constant_position_cartographicDegrees')).toBeDefined();
expect(e.position.getValue(date)).toEqual(Cartesian3.fromDegrees(14, 14, 24697));
expect(e = dataSource.entities.getById('constant_position_cartesianVelocity')).toBeDefined();
expect(e.position.getValue(date)).toEqual(new Cartesian3(15776, 23613, 14940));
expect(e = dataSource.entities.getById('constant_billboard_color_rgbaf')).toBeDefined();
expect(e.billboard.color.getValue(date)).toEqualEpsilon(new Color(0.674509803921569, 0.866666666666667, 0.6, 0.650980392156863), 1e-14);
expect(e = dataSource.entities.getById('constant_billboard_alignedAxis_unitSpherical')).toBeDefined();
expect(e.billboard.alignedAxis.getValue(date)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(20514, 39760)), 1e-14);
expect(e = dataSource.entities.getById('constant_box_material_solidColor_color')).toBeDefined();
expect(e.box.material.color.getValue(date)).toEqualEpsilon(new Color(0.996078431372549, 0.0823529411764706, 0.494117647058824, 0.101960784313725), 1e-14);
expect(e = dataSource.entities.getById('material_box_material_image')).toBeDefined();
expect(e.box.material.image.getValue(date).url).toEqual('http://example.com/50881');
expect(e.box.material.repeat.getValue(date)).toEqual(new Cartesian2(58955, 45286));
expect(e.box.material.color.getValue(date)).toEqual(Color.fromBytes(98, 97, 133, 129));
expect(e.box.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_box_material_grid')).toBeDefined();
expect(e.box.material.color.getValue(date)).toEqual(Color.fromBytes(178, 10, 106, 226));
expect(e.box.material.cellAlpha.getValue(date)).toEqual(47180.0);
expect(e.box.material.lineCount.getValue(date)).toEqual(new Cartesian2(24659, 13408));
expect(e.box.material.lineThickness.getValue(date)).toEqual(new Cartesian2(13897, 25654));
expect(e.box.material.lineOffset.getValue(date)).toEqual(new Cartesian2(14153, 49207));
expect(e = dataSource.entities.getById('material_box_material_stripe')).toBeDefined();
expect(e.box.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.box.material.evenColor.getValue(date)).toEqual(Color.fromBytes(18, 147, 177, 80));
expect(e.box.material.oddColor.getValue(date)).toEqual(Color.fromBytes(189, 226, 187, 107));
expect(e.box.material.offset.getValue(date)).toEqual(43563.0);
expect(e.box.material.repeat.getValue(date)).toEqual(24480.0);
expect(e = dataSource.entities.getById('constant_box_material_image_color')).toBeDefined();
expect(e.box.material.color.getValue(date)).toEqualEpsilon(new Color(0.733333333333333, 0.474509803921569, 0.56078431372549, 0.349019607843137), 1e-14);
expect(e = dataSource.entities.getById('constant_box_material_grid_color')).toBeDefined();
expect(e.box.material.color.getValue(date)).toEqualEpsilon(new Color(0.847058823529412, 0.392156862745098, 0.352941176470588, 0.898039215686275), 1e-14);
expect(e = dataSource.entities.getById('constant_box_material_stripe_evenColor')).toBeDefined();
expect(e.box.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.666666666666667, 0.976470588235294, 0.83921568627451, 0.643137254901961), 1e-14);
expect(e = dataSource.entities.getById('constant_box_material_stripe_oddColor')).toBeDefined();
expect(e.box.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.258823529411765, 0.796078431372549, 0.717647058823529, 0.749019607843137), 1e-14);
expect(e = dataSource.entities.getById('constant_box_outlineColor_rgbaf')).toBeDefined();
expect(e.box.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.835294117647059, 0.0313725490196078, 0.282352941176471, 0.337254901960784), 1e-14);
expect(e = dataSource.entities.getById('constant_corridor_positions_cartographicRadians')).toBeDefined();
expect(e.corridor.positions.getValue(date)).toEqual([ Cartesian3.fromRadians(0.220356654342316, 0.879184920197648, 64909), Cartesian3.fromRadians(0.175978952571564, 1.00316515710468, 913) ]);
expect(e = dataSource.entities.getById('constant_corridor_positions_cartographicDegrees')).toBeDefined();
expect(e.corridor.positions.getValue(date)).toEqual([ Cartesian3.fromDegrees(28, 14, 63058), Cartesian3.fromDegrees(15, 37, 26381) ]);
expect(e = dataSource.entities.getById('constant_corridor_material_solidColor_color')).toBeDefined();
expect(e.corridor.material.color.getValue(date)).toEqualEpsilon(new Color(0.333333333333333, 0.87843137254902, 0.356862745098039, 0.435294117647059), 1e-14);
expect(e = dataSource.entities.getById('material_corridor_material_image')).toBeDefined();
expect(e.corridor.material.image.getValue(date).url).toEqual('http://example.com/8903');
expect(e.corridor.material.repeat.getValue(date)).toEqual(new Cartesian2(41660, 35234));
expect(e.corridor.material.color.getValue(date)).toEqual(Color.fromBytes(213, 25, 147, 247));
expect(e.corridor.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_corridor_material_grid')).toBeDefined();
expect(e.corridor.material.color.getValue(date)).toEqual(Color.fromBytes(236, 51, 112, 235));
expect(e.corridor.material.cellAlpha.getValue(date)).toEqual(11472.0);
expect(e.corridor.material.lineCount.getValue(date)).toEqual(new Cartesian2(1254, 38404));
expect(e.corridor.material.lineThickness.getValue(date)).toEqual(new Cartesian2(48962, 63679));
expect(e.corridor.material.lineOffset.getValue(date)).toEqual(new Cartesian2(39061, 47000));
expect(e = dataSource.entities.getById('material_corridor_material_stripe')).toBeDefined();
expect(e.corridor.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.corridor.material.evenColor.getValue(date)).toEqual(Color.fromBytes(245, 61, 208, 138));
expect(e.corridor.material.oddColor.getValue(date)).toEqual(Color.fromBytes(114, 73, 91, 165));
expect(e.corridor.material.offset.getValue(date)).toEqual(12788.0);
expect(e.corridor.material.repeat.getValue(date)).toEqual(33136.0);
expect(e = dataSource.entities.getById('constant_corridor_material_image_color')).toBeDefined();
expect(e.corridor.material.color.getValue(date)).toEqualEpsilon(new Color(0.0156862745098039, 0.0941176470588235, 0.4, 0.529411764705882), 1e-14);
expect(e = dataSource.entities.getById('constant_corridor_material_grid_color')).toBeDefined();
expect(e.corridor.material.color.getValue(date)).toEqualEpsilon(new Color(0.576470588235294, 0.76078431372549, 0.152941176470588, 0.00392156862745098), 1e-14);
expect(e = dataSource.entities.getById('constant_corridor_material_stripe_evenColor')).toBeDefined();
expect(e.corridor.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.913725490196078, 0.63921568627451, 0.631372549019608, 0.890196078431373), 1e-14);
expect(e = dataSource.entities.getById('constant_corridor_material_stripe_oddColor')).toBeDefined();
expect(e.corridor.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.2, 0.137254901960784, 0.792156862745098, 0.301960784313725), 1e-14);
expect(e = dataSource.entities.getById('constant_corridor_outlineColor_rgbaf')).toBeDefined();
expect(e.corridor.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.690196078431373, 0.0549019607843137, 0.247058823529412, 0.298039215686275), 1e-14);
expect(e = dataSource.entities.getById('constant_cylinder_material_solidColor_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(date)).toEqualEpsilon(new Color(0.47843137254902, 0.0509803921568627, 0.450980392156863, 0.87843137254902), 1e-14);
expect(e = dataSource.entities.getById('material_cylinder_material_image')).toBeDefined();
expect(e.cylinder.material.image.getValue(date).url).toEqual('http://example.com/27447');
expect(e.cylinder.material.repeat.getValue(date)).toEqual(new Cartesian2(65243, 41470));
expect(e.cylinder.material.color.getValue(date)).toEqual(Color.fromBytes(200, 175, 107, 217));
expect(e.cylinder.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_cylinder_material_grid')).toBeDefined();
expect(e.cylinder.material.color.getValue(date)).toEqual(Color.fromBytes(173, 210, 231, 62));
expect(e.cylinder.material.cellAlpha.getValue(date)).toEqual(9555.0);
expect(e.cylinder.material.lineCount.getValue(date)).toEqual(new Cartesian2(58545, 26852));
expect(e.cylinder.material.lineThickness.getValue(date)).toEqual(new Cartesian2(58520, 44260));
expect(e.cylinder.material.lineOffset.getValue(date)).toEqual(new Cartesian2(61513, 28656));
expect(e = dataSource.entities.getById('material_cylinder_material_stripe')).toBeDefined();
expect(e.cylinder.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.cylinder.material.evenColor.getValue(date)).toEqual(Color.fromBytes(158, 155, 154, 86));
expect(e.cylinder.material.oddColor.getValue(date)).toEqual(Color.fromBytes(191, 226, 188, 74));
expect(e.cylinder.material.offset.getValue(date)).toEqual(55018.0);
expect(e.cylinder.material.repeat.getValue(date)).toEqual(33073.0);
expect(e = dataSource.entities.getById('constant_cylinder_material_image_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(date)).toEqualEpsilon(new Color(0.654901960784314, 0.0627450980392157, 0.517647058823529, 0.537254901960784), 1e-14);
expect(e = dataSource.entities.getById('constant_cylinder_material_grid_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(date)).toEqualEpsilon(new Color(0.901960784313726, 0.364705882352941, 0.305882352941176, 0.945098039215686), 1e-14);
expect(e = dataSource.entities.getById('constant_cylinder_material_stripe_evenColor')).toBeDefined();
expect(e.cylinder.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.0901960784313725, 0.133333333333333, 0.372549019607843, 0.498039215686275), 1e-14);
expect(e = dataSource.entities.getById('constant_cylinder_material_stripe_oddColor')).toBeDefined();
expect(e.cylinder.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.905882352941176, 0.564705882352941, 0.486274509803922, 0.67843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_cylinder_outlineColor_rgbaf')).toBeDefined();
expect(e.cylinder.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.647058823529412, 0.564705882352941, 0.4, 0.0862745098039216), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipse_material_solidColor_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(date)).toEqualEpsilon(new Color(0.0980392156862745, 0.913725490196078, 0.811764705882353, 0.2), 1e-14);
expect(e = dataSource.entities.getById('material_ellipse_material_image')).toBeDefined();
expect(e.ellipse.material.image.getValue(date).url).toEqual('http://example.com/2481');
expect(e.ellipse.material.repeat.getValue(date)).toEqual(new Cartesian2(45447, 53937));
expect(e.ellipse.material.color.getValue(date)).toEqual(Color.fromBytes(45, 86, 136, 120));
expect(e.ellipse.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_ellipse_material_grid')).toBeDefined();
expect(e.ellipse.material.color.getValue(date)).toEqual(Color.fromBytes(217, 159, 32, 60));
expect(e.ellipse.material.cellAlpha.getValue(date)).toEqual(24764.0);
expect(e.ellipse.material.lineCount.getValue(date)).toEqual(new Cartesian2(25721, 6500));
expect(e.ellipse.material.lineThickness.getValue(date)).toEqual(new Cartesian2(57205, 63455));
expect(e.ellipse.material.lineOffset.getValue(date)).toEqual(new Cartesian2(49829, 3778));
expect(e = dataSource.entities.getById('material_ellipse_material_stripe')).toBeDefined();
expect(e.ellipse.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.ellipse.material.evenColor.getValue(date)).toEqual(Color.fromBytes(7, 152, 58, 224));
expect(e.ellipse.material.oddColor.getValue(date)).toEqual(Color.fromBytes(4, 228, 224, 57));
expect(e.ellipse.material.offset.getValue(date)).toEqual(26719.0);
expect(e.ellipse.material.repeat.getValue(date)).toEqual(15097.0);
expect(e = dataSource.entities.getById('constant_ellipse_material_image_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(date)).toEqualEpsilon(new Color(0.364705882352941, 0.698039215686274, 0.803921568627451, 0.843137254901961), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipse_material_grid_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(date)).toEqualEpsilon(new Color(0.67843137254902, 0.580392156862745, 0.823529411764706, 0.627450980392157), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipse_material_stripe_evenColor')).toBeDefined();
expect(e.ellipse.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.313725490196078, 0.768627450980392, 0.674509803921569, 0.705882352941177), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipse_material_stripe_oddColor')).toBeDefined();
expect(e.ellipse.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.682352941176471, 0.658823529411765, 0.952941176470588, 0.0823529411764706), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipse_outlineColor_rgbaf')).toBeDefined();
expect(e.ellipse.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.572549019607843, 0.956862745098039, 0.968627450980392, 0.674509803921569), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipsoid_material_solidColor_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(date)).toEqualEpsilon(new Color(0.572549019607843, 0.533333333333333, 0.384313725490196, 0.2), 1e-14);
expect(e = dataSource.entities.getById('material_ellipsoid_material_image')).toBeDefined();
expect(e.ellipsoid.material.image.getValue(date).url).toEqual('http://example.com/47428');
expect(e.ellipsoid.material.repeat.getValue(date)).toEqual(new Cartesian2(53733, 35793));
expect(e.ellipsoid.material.color.getValue(date)).toEqual(Color.fromBytes(125, 49, 160, 165));
expect(e.ellipsoid.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_ellipsoid_material_grid')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(date)).toEqual(Color.fromBytes(95, 212, 218, 57));
expect(e.ellipsoid.material.cellAlpha.getValue(date)).toEqual(53044.0);
expect(e.ellipsoid.material.lineCount.getValue(date)).toEqual(new Cartesian2(7763, 58654));
expect(e.ellipsoid.material.lineThickness.getValue(date)).toEqual(new Cartesian2(25480, 4707));
expect(e.ellipsoid.material.lineOffset.getValue(date)).toEqual(new Cartesian2(38422, 44182));
expect(e = dataSource.entities.getById('material_ellipsoid_material_stripe')).toBeDefined();
expect(e.ellipsoid.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.ellipsoid.material.evenColor.getValue(date)).toEqual(Color.fromBytes(174, 241, 84, 24));
expect(e.ellipsoid.material.oddColor.getValue(date)).toEqual(Color.fromBytes(134, 51, 175, 154));
expect(e.ellipsoid.material.offset.getValue(date)).toEqual(24796.0);
expect(e.ellipsoid.material.repeat.getValue(date)).toEqual(2913.0);
expect(e = dataSource.entities.getById('constant_ellipsoid_material_image_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(date)).toEqualEpsilon(new Color(0.247058823529412, 0.403921568627451, 0.145098039215686, 0.47843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipsoid_material_grid_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(date)).toEqualEpsilon(new Color(0.270588235294118, 0.784313725490196, 0.172549019607843, 0.835294117647059), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipsoid_material_stripe_evenColor')).toBeDefined();
expect(e.ellipsoid.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.415686274509804, 0.192156862745098, 0.368627450980392, 0.129411764705882), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipsoid_material_stripe_oddColor')).toBeDefined();
expect(e.ellipsoid.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.580392156862745, 0.164705882352941, 0.741176470588235, 0.0941176470588235), 1e-14);
expect(e = dataSource.entities.getById('constant_ellipsoid_outlineColor_rgbaf')).toBeDefined();
expect(e.ellipsoid.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.494117647058824, 0.0823529411764706, 0.274509803921569, 0.823529411764706), 1e-14);
expect(e = dataSource.entities.getById('constant_label_backgroundColor_rgbaf')).toBeDefined();
expect(e.label.backgroundColor.getValue(date)).toEqualEpsilon(new Color(0.894117647058824, 0.949019607843137, 0.494117647058824, 0.843137254901961), 1e-14);
expect(e = dataSource.entities.getById('constant_label_fillColor_rgbaf')).toBeDefined();
expect(e.label.fillColor.getValue(date)).toEqualEpsilon(new Color(0.16078431372549, 0.568627450980392, 0.776470588235294, 0.505882352941176), 1e-14);
expect(e = dataSource.entities.getById('constant_label_outlineColor_rgbaf')).toBeDefined();
expect(e.label.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.458823529411765, 0.325490196078431, 0.909803921568627, 0.67843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_model_silhouetteColor_rgbaf')).toBeDefined();
expect(e.model.silhouetteColor.getValue(date)).toEqualEpsilon(new Color(0.294117647058824, 0.313725490196078, 0.419607843137255, 0.87843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_model_color_rgbaf')).toBeDefined();
expect(e.model.color.getValue(date)).toEqualEpsilon(new Color(0.568627450980392, 0.333333333333333, 0.141176470588235, 0.572549019607843), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_solidColor_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.458823529411765, 0.517647058823529, 0.52156862745098, 0.925490196078431), 1e-14);
expect(e = dataSource.entities.getById('material_path_material_polylineOutline')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(158, 14, 3, 86));
expect(e.path.material.outlineColor.getValue(date)).toEqual(Color.fromBytes(137, 101, 236, 136));
expect(e.path.material.outlineWidth.getValue(date)).toEqual(11017.0);
expect(e = dataSource.entities.getById('material_path_material_polylineArrow')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(166, 131, 155, 102));
expect(e = dataSource.entities.getById('material_path_material_polylineDash')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(190, 189, 9, 7));
expect(e.path.material.gapColor.getValue(date)).toEqual(Color.fromBytes(170, 88, 12, 24));
expect(e.path.material.dashLength.getValue(date)).toEqual(45848.0);
expect(e.path.material.dashPattern.getValue(date)).toEqual(13519);
expect(e = dataSource.entities.getById('material_path_material_polylineGlow')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(72, 114, 200, 147));
expect(e.path.material.glowPower.getValue(date)).toEqual(42344.0);
expect(e = dataSource.entities.getById('material_path_material_image')).toBeDefined();
expect(e.path.material.image.getValue(date).url).toEqual('http://example.com/31068');
expect(e.path.material.repeat.getValue(date)).toEqual(new Cartesian2(48351, 63420));
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(105, 166, 133, 7));
expect(e.path.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_path_material_grid')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(Color.fromBytes(120, 196, 99, 165));
expect(e.path.material.cellAlpha.getValue(date)).toEqual(41317.0);
expect(e.path.material.lineCount.getValue(date)).toEqual(new Cartesian2(52557, 7629));
expect(e.path.material.lineThickness.getValue(date)).toEqual(new Cartesian2(21845, 52309));
expect(e.path.material.lineOffset.getValue(date)).toEqual(new Cartesian2(48700, 4542));
expect(e = dataSource.entities.getById('material_path_material_stripe')).toBeDefined();
expect(e.path.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.path.material.evenColor.getValue(date)).toEqual(Color.fromBytes(20, 43, 77, 229));
expect(e.path.material.oddColor.getValue(date)).toEqual(Color.fromBytes(157, 171, 93, 187));
expect(e.path.material.offset.getValue(date)).toEqual(41305.0);
expect(e.path.material.repeat.getValue(date)).toEqual(43637.0);
expect(e = dataSource.entities.getById('constant_path_material_polylineOutline_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.0588235294117647, 0.0823529411764706, 0.964705882352941, 0.317647058823529), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_polylineOutline_outlineColor')).toBeDefined();
expect(e.path.material.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.266666666666667, 0.556862745098039, 0.352941176470588, 0.76078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_polylineArrow_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.627450980392157, 0.27843137254902, 0.972549019607843, 0.92156862745098), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_polylineDash_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.113725490196078, 0.368627450980392, 0.411764705882353, 0.745098039215686), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_polylineDash_gapColor')).toBeDefined();
expect(e.path.material.gapColor.getValue(date)).toEqualEpsilon(new Color(0.831372549019608, 0.313725490196078, 0.341176470588235, 0.749019607843137), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_polylineGlow_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.584313725490196, 0.0156862745098039, 0.329411764705882, 0.270588235294118), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_image_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.443137254901961, 0.450980392156863, 0.63921568627451, 0.415686274509804), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_grid_color')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqualEpsilon(new Color(0.984313725490196, 0.945098039215686, 0.764705882352941, 0.933333333333333), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_stripe_evenColor')).toBeDefined();
expect(e.path.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.584313725490196, 0.631372549019608, 0.0196078431372549, 0.349019607843137), 1e-14);
expect(e = dataSource.entities.getById('constant_path_material_stripe_oddColor')).toBeDefined();
expect(e.path.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.231372549019608, 0.211764705882353, 0.941176470588235, 0.501960784313725), 1e-14);
expect(e = dataSource.entities.getById('constant_point_color_rgbaf')).toBeDefined();
expect(e.point.color.getValue(date)).toEqualEpsilon(new Color(0.662745098039216, 0.317647058823529, 0.643137254901961, 0.705882352941177), 1e-14);
expect(e = dataSource.entities.getById('constant_point_outlineColor_rgbaf')).toBeDefined();
expect(e.point.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.00392156862745098, 0.388235294117647, 0.101960784313725, 0.16078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_polygon_hierarchy_cartographicRadians')).toBeDefined();
expect(e.polygon.hierarchy.getValue(date)).toEqual([ Cartesian3.fromRadians(0.612948853926511, 1.3346715688367, 54401), Cartesian3.fromRadians(1.1867596160592, 0.345663242797974, 35811) ]);
expect(e = dataSource.entities.getById('constant_polygon_hierarchy_cartographicDegrees')).toBeDefined();
expect(e.polygon.hierarchy.getValue(date)).toEqual([ Cartesian3.fromDegrees(19, 41, 50907), Cartesian3.fromDegrees(28, 40, 24937) ]);
expect(e = dataSource.entities.getById('constant_polygon_material_solidColor_color')).toBeDefined();
expect(e.polygon.material.color.getValue(date)).toEqualEpsilon(new Color(0.980392156862745, 0.905882352941176, 0.274509803921569, 0.972549019607843), 1e-14);
expect(e = dataSource.entities.getById('material_polygon_material_image')).toBeDefined();
expect(e.polygon.material.image.getValue(date).url).toEqual('http://example.com/3481');
expect(e.polygon.material.repeat.getValue(date)).toEqual(new Cartesian2(29381, 10354));
expect(e.polygon.material.color.getValue(date)).toEqual(Color.fromBytes(36, 184, 236, 209));
expect(e.polygon.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_polygon_material_grid')).toBeDefined();
expect(e.polygon.material.color.getValue(date)).toEqual(Color.fromBytes(246, 64, 141, 13));
expect(e.polygon.material.cellAlpha.getValue(date)).toEqual(986.0);
expect(e.polygon.material.lineCount.getValue(date)).toEqual(new Cartesian2(26094, 44645));
expect(e.polygon.material.lineThickness.getValue(date)).toEqual(new Cartesian2(30775, 17784));
expect(e.polygon.material.lineOffset.getValue(date)).toEqual(new Cartesian2(58344, 3555));
expect(e = dataSource.entities.getById('material_polygon_material_stripe')).toBeDefined();
expect(e.polygon.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.polygon.material.evenColor.getValue(date)).toEqual(Color.fromBytes(98, 184, 45, 52));
expect(e.polygon.material.oddColor.getValue(date)).toEqual(Color.fromBytes(164, 123, 182, 228));
expect(e.polygon.material.offset.getValue(date)).toEqual(12114.0);
expect(e.polygon.material.repeat.getValue(date)).toEqual(60350.0);
expect(e = dataSource.entities.getById('constant_polygon_material_image_color')).toBeDefined();
expect(e.polygon.material.color.getValue(date)).toEqualEpsilon(new Color(0.674509803921569, 0.8, 0.411764705882353, 0.207843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_polygon_material_grid_color')).toBeDefined();
expect(e.polygon.material.color.getValue(date)).toEqualEpsilon(new Color(0.603921568627451, 0.0941176470588235, 0.00784313725490196, 0.0862745098039216), 1e-14);
expect(e = dataSource.entities.getById('constant_polygon_material_stripe_evenColor')).toBeDefined();
expect(e.polygon.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.772549019607843, 0.866666666666667, 0.964705882352941, 0.862745098039216), 1e-14);
expect(e = dataSource.entities.getById('constant_polygon_material_stripe_oddColor')).toBeDefined();
expect(e.polygon.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.862745098039216, 0.0392156862745098, 0.458823529411765, 0.596078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_polygon_outlineColor_rgbaf')).toBeDefined();
expect(e.polygon.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.105882352941176, 0.423529411764706, 0.619607843137255, 0.956862745098039), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_positions_cartographicRadians')).toBeDefined();
expect(e.polyline.positions.getValue(date)).toEqual([ Cartesian3.fromRadians(0.23083587429617, 0.738315731088925, 41390), Cartesian3.fromRadians(0.537259577218533, 0.25389340391868, 10573) ]);
expect(e = dataSource.entities.getById('constant_polyline_positions_cartographicDegrees')).toBeDefined();
expect(e.polyline.positions.getValue(date)).toEqual([ Cartesian3.fromDegrees(19, 5, 11802), Cartesian3.fromDegrees(15, 40, 39495) ]);
expect(e = dataSource.entities.getById('constant_polyline_material_solidColor_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.764705882352941, 0.894117647058824, 0.874509803921569, 0.105882352941176), 1e-14);
expect(e = dataSource.entities.getById('material_polyline_material_polylineOutline')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(152, 14, 11, 33));
expect(e.polyline.material.outlineColor.getValue(date)).toEqual(Color.fromBytes(222, 51, 202, 92));
expect(e.polyline.material.outlineWidth.getValue(date)).toEqual(6879.0);
expect(e = dataSource.entities.getById('material_polyline_material_polylineArrow')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(82, 169, 80, 107));
expect(e = dataSource.entities.getById('material_polyline_material_polylineDash')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(22, 214, 57, 141));
expect(e.polyline.material.gapColor.getValue(date)).toEqual(Color.fromBytes(150, 91, 109, 117));
expect(e.polyline.material.dashLength.getValue(date)).toEqual(60297.0);
expect(e.polyline.material.dashPattern.getValue(date)).toEqual(40430);
expect(e = dataSource.entities.getById('material_polyline_material_polylineGlow')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(59, 125, 181, 171));
expect(e.polyline.material.glowPower.getValue(date)).toEqual(41345.0);
expect(e = dataSource.entities.getById('material_polyline_material_image')).toBeDefined();
expect(e.polyline.material.image.getValue(date).url).toEqual('http://example.com/29020');
expect(e.polyline.material.repeat.getValue(date)).toEqual(new Cartesian2(8980, 60451));
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(46, 136, 39, 94));
expect(e.polyline.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_polyline_material_grid')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(Color.fromBytes(157, 57, 26, 26));
expect(e.polyline.material.cellAlpha.getValue(date)).toEqual(27197.0);
expect(e.polyline.material.lineCount.getValue(date)).toEqual(new Cartesian2(17878, 15173));
expect(e.polyline.material.lineThickness.getValue(date)).toEqual(new Cartesian2(64504, 24571));
expect(e.polyline.material.lineOffset.getValue(date)).toEqual(new Cartesian2(51933, 9674));
expect(e = dataSource.entities.getById('material_polyline_material_stripe')).toBeDefined();
expect(e.polyline.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.polyline.material.evenColor.getValue(date)).toEqual(Color.fromBytes(98, 239, 47, 132));
expect(e.polyline.material.oddColor.getValue(date)).toEqual(Color.fromBytes(41, 198, 29, 144));
expect(e.polyline.material.offset.getValue(date)).toEqual(10077.0);
expect(e.polyline.material.repeat.getValue(date)).toEqual(31817.0);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineOutline_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.450980392156863, 0.890196078431373, 0.403921568627451, 0.16078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineOutline_outlineColor')).toBeDefined();
expect(e.polyline.material.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.815686274509804, 0.545098039215686, 0.529411764705882, 0.317647058823529), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineArrow_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.831372549019608, 0.823529411764706, 0.631372549019608, 0.443137254901961), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineDash_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.462745098039216, 0.184313725490196, 0.329411764705882, 0), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineDash_gapColor')).toBeDefined();
expect(e.polyline.material.gapColor.getValue(date)).toEqualEpsilon(new Color(0.0509803921568627, 0.0313725490196078, 0.23921568627451, 0.4), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_polylineGlow_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.411764705882353, 0.313725490196078, 0.858823529411765, 0.380392156862745), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_image_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.133333333333333, 0.552941176470588, 0.0431372549019608, 0.184313725490196), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_grid_color')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqualEpsilon(new Color(0.141176470588235, 0.823529411764706, 0.588235294117647, 0.56078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_stripe_evenColor')).toBeDefined();
expect(e.polyline.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.647058823529412, 0.862745098039216, 0.129411764705882, 0.780392156862745), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_material_stripe_oddColor')).toBeDefined();
expect(e.polyline.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.290196078431373, 0.780392156862745, 0.0705882352941176, 0.27843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_solidColor_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.905882352941176, 0.635294117647059, 0.435294117647059, 0.631372549019608), 1e-14);
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_polylineOutline')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(238, 116, 228, 18));
expect(e.polyline.depthFailMaterial.outlineColor.getValue(date)).toEqual(Color.fromBytes(36, 55, 18, 134));
expect(e.polyline.depthFailMaterial.outlineWidth.getValue(date)).toEqual(33747.0);
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_polylineArrow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(80, 78, 117, 160));
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_polylineDash')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(139, 171, 44, 217));
expect(e.polyline.depthFailMaterial.gapColor.getValue(date)).toEqual(Color.fromBytes(253, 13, 109, 243));
expect(e.polyline.depthFailMaterial.dashLength.getValue(date)).toEqual(21429.0);
expect(e.polyline.depthFailMaterial.dashPattern.getValue(date)).toEqual(13659);
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_polylineGlow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(82, 227, 164, 249));
expect(e.polyline.depthFailMaterial.glowPower.getValue(date)).toEqual(52932.0);
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_image')).toBeDefined();
expect(e.polyline.depthFailMaterial.image.getValue(date).url).toEqual('http://example.com/6349');
expect(e.polyline.depthFailMaterial.repeat.getValue(date)).toEqual(new Cartesian2(24549, 50015));
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(71, 233, 193, 55));
expect(e.polyline.depthFailMaterial.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_grid')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(Color.fromBytes(241, 160, 22, 116));
expect(e.polyline.depthFailMaterial.cellAlpha.getValue(date)).toEqual(32801.0);
expect(e.polyline.depthFailMaterial.lineCount.getValue(date)).toEqual(new Cartesian2(27318, 57194));
expect(e.polyline.depthFailMaterial.lineThickness.getValue(date)).toEqual(new Cartesian2(2299, 50440));
expect(e.polyline.depthFailMaterial.lineOffset.getValue(date)).toEqual(new Cartesian2(16744, 62785));
expect(e = dataSource.entities.getById('material_polyline_depthFailMaterial_stripe')).toBeDefined();
expect(e.polyline.depthFailMaterial.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.polyline.depthFailMaterial.evenColor.getValue(date)).toEqual(Color.fromBytes(174, 135, 160, 224));
expect(e.polyline.depthFailMaterial.oddColor.getValue(date)).toEqual(Color.fromBytes(8, 166, 115, 198));
expect(e.polyline.depthFailMaterial.offset.getValue(date)).toEqual(58992.0);
expect(e.polyline.depthFailMaterial.repeat.getValue(date)).toEqual(7346.0);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineOutline_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.976470588235294, 0.133333333333333, 0.835294117647059, 0.694117647058824), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineOutline_outlineColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.8, 0.866666666666667, 0.219607843137255, 0.262745098039216), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineArrow_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.0392156862745098, 0.988235294117647, 0.784313725490196, 0.211764705882353), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineDash_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.0431372549019608, 0.235294117647059, 0.443137254901961, 0.701960784313725), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineDash_gapColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.gapColor.getValue(date)).toEqualEpsilon(new Color(0.388235294117647, 0.0196078431372549, 0.780392156862745, 0.941176470588235), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_polylineGlow_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.733333333333333, 0.180392156862745, 0.407843137254902, 0.168627450980392), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_image_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.815686274509804, 0.47843137254902, 0.254901960784314, 0.47843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_grid_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqualEpsilon(new Color(0.247058823529412, 0.945098039215686, 0.0274509803921569, 0.968627450980392), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_stripe_evenColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.evenColor.getValue(date)).toEqualEpsilon(new Color(0.517647058823529, 0.576470588235294, 0.615686274509804, 0.682352941176471), 1e-14);
expect(e = dataSource.entities.getById('constant_polyline_depthFailMaterial_stripe_oddColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.oddColor.getValue(date)).toEqualEpsilon(new Color(0.333333333333333, 0.537254901960784, 0.443137254901961, 0.658823529411765), 1e-14);
expect(e = dataSource.entities.getById('constant_rectangle_coordinates_wsenDegrees')).toBeDefined();
expect(e.rectangle.coordinates.getValue(date)).toEqual(Rectangle.fromDegrees(42, 22, 5, 35));
expect(e = dataSource.entities.getById('constant_rectangle_material_solidColor_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(date)).toEqualEpsilon(new Color(0.898039215686275, 0.8, 0.905882352941176, 0.952941176470588), 1e-14);
expect(e = dataSource.entities.getById('material_rectangle_material_image')).toBeDefined();
expect(e.rectangle.material.image.getValue(date).url).toEqual('http://example.com/18033');
expect(e.rectangle.material.repeat.getValue(date)).toEqual(new Cartesian2(41461, 31905));
expect(e.rectangle.material.color.getValue(date)).toEqual(Color.fromBytes(93, 203, 88, 125));
expect(e.rectangle.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_rectangle_material_grid')).toBeDefined();
expect(e.rectangle.material.color.getValue(date)).toEqual(Color.fromBytes(245, 105, 152, 83));
expect(e.rectangle.material.cellAlpha.getValue(date)).toEqual(57393.0);
expect(e.rectangle.material.lineCount.getValue(date)).toEqual(new Cartesian2(4947, 4627));
expect(e.rectangle.material.lineThickness.getValue(date)).toEqual(new Cartesian2(37424, 19602));
expect(e.rectangle.material.lineOffset.getValue(date)).toEqual(new Cartesian2(43685, 31658));
expect(e = dataSource.entities.getById('material_rectangle_material_stripe')).toBeDefined();
expect(e.rectangle.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.rectangle.material.evenColor.getValue(date)).toEqual(Color.fromBytes(196, 12, 53, 2));
expect(e.rectangle.material.oddColor.getValue(date)).toEqual(Color.fromBytes(103, 243, 111, 72));
expect(e.rectangle.material.offset.getValue(date)).toEqual(26578.0);
expect(e.rectangle.material.repeat.getValue(date)).toEqual(52842.0);
expect(e = dataSource.entities.getById('constant_rectangle_material_image_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(date)).toEqualEpsilon(new Color(0.247058823529412, 0.498039215686275, 0.741176470588235, 0.968627450980392), 1e-14);
expect(e = dataSource.entities.getById('constant_rectangle_material_grid_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(date)).toEqualEpsilon(new Color(0.458823529411765, 0.0627450980392157, 0.886274509803922, 0.83921568627451), 1e-14);
expect(e = dataSource.entities.getById('constant_rectangle_material_stripe_evenColor')).toBeDefined();
expect(e.rectangle.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.576470588235294, 0.341176470588235, 0.611764705882353, 0.207843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_rectangle_material_stripe_oddColor')).toBeDefined();
expect(e.rectangle.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.866666666666667, 0.949019607843137, 0.0627450980392157, 0.0196078431372549), 1e-14);
expect(e = dataSource.entities.getById('constant_rectangle_outlineColor_rgbaf')).toBeDefined();
expect(e.rectangle.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.301960784313725, 0.0352941176470588, 0.917647058823529, 0.207843137254902), 1e-14);
expect(e = dataSource.entities.getById('constant_wall_positions_cartographicRadians')).toBeDefined();
expect(e.wall.positions.getValue(date)).toEqual([ Cartesian3.fromRadians(0.990822494752221, 0.11729920547879, 47975), Cartesian3.fromRadians(1.22405890229697, 1.46292679641256, 13438) ]);
expect(e = dataSource.entities.getById('constant_wall_positions_cartographicDegrees')).toBeDefined();
expect(e.wall.positions.getValue(date)).toEqual([ Cartesian3.fromDegrees(30, 24, 27738), Cartesian3.fromDegrees(14, 41, 41667) ]);
expect(e = dataSource.entities.getById('constant_wall_material_solidColor_color')).toBeDefined();
expect(e.wall.material.color.getValue(date)).toEqualEpsilon(new Color(0.694117647058824, 0.317647058823529, 0.909803921568627, 0.501960784313725), 1e-14);
expect(e = dataSource.entities.getById('material_wall_material_image')).toBeDefined();
expect(e.wall.material.image.getValue(date).url).toEqual('http://example.com/58529');
expect(e.wall.material.repeat.getValue(date)).toEqual(new Cartesian2(36340, 47245));
expect(e.wall.material.color.getValue(date)).toEqual(Color.fromBytes(252, 63, 12, 38));
expect(e.wall.material.transparent.getValue(date)).toEqual(true);
expect(e = dataSource.entities.getById('material_wall_material_grid')).toBeDefined();
expect(e.wall.material.color.getValue(date)).toEqual(Color.fromBytes(38, 183, 237, 174));
expect(e.wall.material.cellAlpha.getValue(date)).toEqual(59606.0);
expect(e.wall.material.lineCount.getValue(date)).toEqual(new Cartesian2(3079, 31244));
expect(e.wall.material.lineThickness.getValue(date)).toEqual(new Cartesian2(32099, 44157));
expect(e.wall.material.lineOffset.getValue(date)).toEqual(new Cartesian2(13529, 1844));
expect(e = dataSource.entities.getById('material_wall_material_stripe')).toBeDefined();
expect(e.wall.material.orientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.wall.material.evenColor.getValue(date)).toEqual(Color.fromBytes(202, 190, 37, 215));
expect(e.wall.material.oddColor.getValue(date)).toEqual(Color.fromBytes(56, 107, 92, 38));
expect(e.wall.material.offset.getValue(date)).toEqual(34142.0);
expect(e.wall.material.repeat.getValue(date)).toEqual(33528.0);
expect(e = dataSource.entities.getById('constant_wall_material_image_color')).toBeDefined();
expect(e.wall.material.color.getValue(date)).toEqualEpsilon(new Color(0.349019607843137, 0.843137254901961, 0.290196078431373, 0.0431372549019608), 1e-14);
expect(e = dataSource.entities.getById('constant_wall_material_grid_color')).toBeDefined();
expect(e.wall.material.color.getValue(date)).toEqualEpsilon(new Color(0.756862745098039, 0.992156862745098, 0.992156862745098, 0.462745098039216), 1e-14);
expect(e = dataSource.entities.getById('constant_wall_material_stripe_evenColor')).toBeDefined();
expect(e.wall.material.evenColor.getValue(date)).toEqualEpsilon(new Color(0.690196078431373, 0.211764705882353, 0.615686274509804, 0.627450980392157), 1e-14);
expect(e = dataSource.entities.getById('constant_wall_material_stripe_oddColor')).toBeDefined();
expect(e.wall.material.oddColor.getValue(date)).toEqualEpsilon(new Color(0.968627450980392, 0.368627450980392, 0.219607843137255, 0.00392156862745098), 1e-14);
expect(e = dataSource.entities.getById('constant_wall_outlineColor_rgbaf')).toBeDefined();
expect(e.wall.outlineColor.getValue(date)).toEqualEpsilon(new Color(0.564705882352941, 0.67843137254902, 0.764705882352941, 0.811764705882353), 1e-14);
expect(e = dataSource.entities.getById('constant_agi_conicSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_conicSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_conicSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_conicSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_customPatternSensor_directions_unitSpherical')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_customPatternSensor_directions_cartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_customPatternSensor_directions_unitCartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_customPatternSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_customPatternSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_customPatternSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_customPatternSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_rectangularSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_rectangularSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_rectangularSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_rectangularSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_fan_directions_unitSpherical')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_fan_directions_cartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_fan_directions_unitCartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_fan_material_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('material_fan_material_image')).toBeDefined();
expect(e = dataSource.entities.getById('material_fan_material_grid')).toBeDefined();
expect(e = dataSource.entities.getById('material_fan_material_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('constant_fan_material_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_fan_material_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('constant_fan_material_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_fan_material_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_fan_outlineColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_vector_color_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_vector_direction_unitSpherical')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_vector_direction_cartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_agi_vector_direction_unitCartesian')).toBeDefined();
expect(e = dataSource.entities.getById('constant_custom')).toBeDefined();
expect(e.properties.custom_boolean.getValue(date)).toEqual(true);
expect(e.properties.custom_boundingRectangle.getValue(date)).toEqual(new BoundingRectangle(9369, 63524, 6904, 17690));
expect(e.properties.custom_cartesian.getValue(date)).toEqual(new Cartesian3(28502, 45167, 944));
expect(e.properties.custom_cartographicRadians.getValue(date)).toEqual(Cartesian3.fromRadians(0.350571264887744, 0.633274262413284, 42979));
expect(e.properties.custom_cartographicDegrees.getValue(date)).toEqual(Cartesian3.fromDegrees(18, 36, 37743));
expect(e.properties.custom_cartesian2.getValue(date)).toEqual(new Cartesian2(44825, 16303));
expect(e.properties.custom_unitCartesian.getValue(date)).toEqualEpsilon(new Cartesian3(0.77935070007851, 0.565493818550955, 0.269868907930861), 1e-14);
expect(e.properties.custom_spherical.getValue(date)).toEqual(Cartesian3.fromSpherical(new Spherical(1705, 13830, 21558)));
expect(e.properties.custom_unitSpherical.getValue(date)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(59387, 15591)), 1e-14);
expect(e.properties.custom_rgba.getValue(date)).toEqual(Color.fromBytes(50, 149, 175, 147));
expect(e.properties.custom_rgbaf.getValue(date)).toEqualEpsilon(new Color(0.0666666666666667, 0.0666666666666667, 0.231372549019608, 0.427450980392157), 1e-14);
expect(e.properties.custom_colorBlendMode.getValue(date)).toEqual(ColorBlendMode.REPLACE);
expect(e.properties.custom_cornerType.getValue(date)).toEqual(CornerType.BEVELED);
expect(e.properties.custom_heightReference.getValue(date)).toEqual(HeightReference.CLAMP_TO_GROUND);
expect(e.properties.custom_horizontalOrigin.getValue(date)).toEqual(HorizontalOrigin.LEFT);
expect(e.properties.custom_labelStyle.getValue(date)).toEqual(LabelStyle.FILL_AND_OUTLINE);
expect(e.properties.custom_number.getValue(date)).toEqual(31507.0);
expect(e.properties.custom_nearFarScalar.getValue(date)).toEqual(new NearFarScalar(14621, 24121, 16734, 56129));
expect(e.properties.custom_unitQuaternion.getValue(date)).toEqualEpsilon(new Quaternion(0.742737937277143, 0.267679401430615, 0.507905263014791, 0.344558178514049), 1e-14);
expect(e.properties.custom_shadowMode.getValue(date)).toEqual(ShadowMode.CAST_ONLY);
expect(e.properties.custom_string.getValue(date)).toEqual('string41758');
expect(e.properties.custom_stripeOrientation.getValue(date)).toEqual(StripeOrientation.VERTICAL);
expect(e.properties.custom_wsen.getValue(date)).toEqual(new Rectangle(1.47520917005826, 1.17615981869183, 0.973692387723505, 1.00039738410474));
expect(e.properties.custom_wsenDegrees.getValue(date)).toEqual(Rectangle.fromDegrees(5, 3, 6, 19));
expect(e.properties.custom_uri.getValue(date).url).toEqual('http://example.com/41986');
expect(e.properties.custom_verticalOrigin.getValue(date)).toEqual(VerticalOrigin.BOTTOM);
expect(e = dataSource.entities.getById('ConstantPosition1')).toBeDefined();
expect(e.position.getValue(date)).toEqual(new Cartesian3(48370, 3260, 44044));
expect(e = dataSource.entities.getById('ConstantDouble1')).toBeDefined();
expect(e.billboard.scale.getValue(date)).toEqual(1155.0);
expect(e = dataSource.entities.getById('ConstantPosition2')).toBeDefined();
expect(e.position.getValue(date)).toEqual(new Cartesian3(2599, 10, 39168));
expect(e = dataSource.entities.getById('ConstantDouble2')).toBeDefined();
expect(e.billboard.scale.getValue(date)).toEqual(16451.0);
expect(e = dataSource.entities.getById('Reference')).toBeDefined();
expect(e.description.getValue(date)).toEqual(constant.description.getValue(date));
expect(e.position.getValue(date)).toEqual(constant.position.getValue(date));
expect(e.orientation.getValue(date)).toEqual(constant.orientation.getValue(date));
expect(e.viewFrom.getValue(date)).toEqual(constant.viewFrom.getValue(date));
expect(e.billboard.show.getValue(date)).toEqual(constant.billboard.show.getValue(date));
expect(e.billboard.image.getValue(date)).toEqual(constant.billboard.image.getValue(date));
expect(e.billboard.scale.getValue(date)).toEqual(constant.billboard.scale.getValue(date));
expect(e.billboard.pixelOffset.getValue(date)).toEqual(constant.billboard.pixelOffset.getValue(date));
expect(e.billboard.eyeOffset.getValue(date)).toEqual(constant.billboard.eyeOffset.getValue(date));
expect(e.billboard.horizontalOrigin.getValue(date)).toEqual(constant.billboard.horizontalOrigin.getValue(date));
expect(e.billboard.verticalOrigin.getValue(date)).toEqual(constant.billboard.verticalOrigin.getValue(date));
expect(e.billboard.heightReference.getValue(date)).toEqual(constant.billboard.heightReference.getValue(date));
expect(e.billboard.color.getValue(date)).toEqual(constant.billboard.color.getValue(date));
expect(e.billboard.rotation.getValue(date)).toEqual(constant.billboard.rotation.getValue(date));
expect(e.billboard.alignedAxis.getValue(date)).toEqual(constant.billboard.alignedAxis.getValue(date));
expect(e.billboard.sizeInMeters.getValue(date)).toEqual(constant.billboard.sizeInMeters.getValue(date));
expect(e.billboard.width.getValue(date)).toEqual(constant.billboard.width.getValue(date));
expect(e.billboard.height.getValue(date)).toEqual(constant.billboard.height.getValue(date));
expect(e.billboard.scaleByDistance.getValue(date)).toEqual(constant.billboard.scaleByDistance.getValue(date));
expect(e.billboard.translucencyByDistance.getValue(date)).toEqual(constant.billboard.translucencyByDistance.getValue(date));
expect(e.billboard.pixelOffsetScaleByDistance.getValue(date)).toEqual(constant.billboard.pixelOffsetScaleByDistance.getValue(date));
expect(e.billboard.imageSubRegion.getValue(date)).toEqual(constant.billboard.imageSubRegion.getValue(date));
expect(e.billboard.distanceDisplayCondition.getValue(date)).toEqual(constant.billboard.distanceDisplayCondition.getValue(date));
expect(e.billboard.disableDepthTestDistance.getValue(date)).toEqual(constant.billboard.disableDepthTestDistance.getValue(date));
expect(e.box.show.getValue(date)).toEqual(constant.box.show.getValue(date));
expect(e.box.dimensions.getValue(date)).toEqual(constant.box.dimensions.getValue(date));
expect(e.box.fill.getValue(date)).toEqual(constant.box.fill.getValue(date));
expect(e.box.material.color.getValue(date)).toEqual(constant.box.material.color.getValue(date));
expect(e.box.outline.getValue(date)).toEqual(constant.box.outline.getValue(date));
expect(e.box.outlineColor.getValue(date)).toEqual(constant.box.outlineColor.getValue(date));
expect(e.box.outlineWidth.getValue(date)).toEqual(constant.box.outlineWidth.getValue(date));
expect(e.box.shadows.getValue(date)).toEqual(constant.box.shadows.getValue(date));
expect(e.box.distanceDisplayCondition.getValue(date)).toEqual(constant.box.distanceDisplayCondition.getValue(date));
expect(e.corridor.show.getValue(date)).toEqual(constant.corridor.show.getValue(date));
expect(e.corridor.positions.getValue(date)).toEqual([dataSource.entities.getById('ConstantPosition1').position.getValue(date), dataSource.entities.getById('ConstantPosition2').position.getValue(date)]);
expect(e.corridor.width.getValue(date)).toEqual(constant.corridor.width.getValue(date));
expect(e.corridor.height.getValue(date)).toEqual(constant.corridor.height.getValue(date));
expect(e.corridor.extrudedHeight.getValue(date)).toEqual(constant.corridor.extrudedHeight.getValue(date));
expect(e.corridor.cornerType.getValue(date)).toEqual(constant.corridor.cornerType.getValue(date));
expect(e.corridor.granularity.getValue(date)).toEqual(constant.corridor.granularity.getValue(date));
expect(e.corridor.fill.getValue(date)).toEqual(constant.corridor.fill.getValue(date));
expect(e.corridor.material.color.getValue(date)).toEqual(constant.corridor.material.color.getValue(date));
expect(e.corridor.outline.getValue(date)).toEqual(constant.corridor.outline.getValue(date));
expect(e.corridor.outlineColor.getValue(date)).toEqual(constant.corridor.outlineColor.getValue(date));
expect(e.corridor.outlineWidth.getValue(date)).toEqual(constant.corridor.outlineWidth.getValue(date));
expect(e.corridor.shadows.getValue(date)).toEqual(constant.corridor.shadows.getValue(date));
expect(e.corridor.distanceDisplayCondition.getValue(date)).toEqual(constant.corridor.distanceDisplayCondition.getValue(date));
expect(e.cylinder.show.getValue(date)).toEqual(constant.cylinder.show.getValue(date));
expect(e.cylinder.length.getValue(date)).toEqual(constant.cylinder.length.getValue(date));
expect(e.cylinder.topRadius.getValue(date)).toEqual(constant.cylinder.topRadius.getValue(date));
expect(e.cylinder.bottomRadius.getValue(date)).toEqual(constant.cylinder.bottomRadius.getValue(date));
expect(e.cylinder.fill.getValue(date)).toEqual(constant.cylinder.fill.getValue(date));
expect(e.cylinder.material.color.getValue(date)).toEqual(constant.cylinder.material.color.getValue(date));
expect(e.cylinder.outline.getValue(date)).toEqual(constant.cylinder.outline.getValue(date));
expect(e.cylinder.outlineColor.getValue(date)).toEqual(constant.cylinder.outlineColor.getValue(date));
expect(e.cylinder.outlineWidth.getValue(date)).toEqual(constant.cylinder.outlineWidth.getValue(date));
expect(e.cylinder.numberOfVerticalLines.getValue(date)).toEqual(constant.cylinder.numberOfVerticalLines.getValue(date));
expect(e.cylinder.slices.getValue(date)).toEqual(constant.cylinder.slices.getValue(date));
expect(e.cylinder.shadows.getValue(date)).toEqual(constant.cylinder.shadows.getValue(date));
expect(e.cylinder.distanceDisplayCondition.getValue(date)).toEqual(constant.cylinder.distanceDisplayCondition.getValue(date));
expect(e.ellipse.show.getValue(date)).toEqual(constant.ellipse.show.getValue(date));
expect(e.ellipse.semiMajorAxis.getValue(date)).toEqual(constant.ellipse.semiMajorAxis.getValue(date));
expect(e.ellipse.semiMinorAxis.getValue(date)).toEqual(constant.ellipse.semiMinorAxis.getValue(date));
expect(e.ellipse.height.getValue(date)).toEqual(constant.ellipse.height.getValue(date));
expect(e.ellipse.extrudedHeight.getValue(date)).toEqual(constant.ellipse.extrudedHeight.getValue(date));
expect(e.ellipse.rotation.getValue(date)).toEqual(constant.ellipse.rotation.getValue(date));
expect(e.ellipse.stRotation.getValue(date)).toEqual(constant.ellipse.stRotation.getValue(date));
expect(e.ellipse.granularity.getValue(date)).toEqual(constant.ellipse.granularity.getValue(date));
expect(e.ellipse.fill.getValue(date)).toEqual(constant.ellipse.fill.getValue(date));
expect(e.ellipse.material.color.getValue(date)).toEqual(constant.ellipse.material.color.getValue(date));
expect(e.ellipse.outline.getValue(date)).toEqual(constant.ellipse.outline.getValue(date));
expect(e.ellipse.outlineColor.getValue(date)).toEqual(constant.ellipse.outlineColor.getValue(date));
expect(e.ellipse.outlineWidth.getValue(date)).toEqual(constant.ellipse.outlineWidth.getValue(date));
expect(e.ellipse.numberOfVerticalLines.getValue(date)).toEqual(constant.ellipse.numberOfVerticalLines.getValue(date));
expect(e.ellipse.shadows.getValue(date)).toEqual(constant.ellipse.shadows.getValue(date));
expect(e.ellipse.distanceDisplayCondition.getValue(date)).toEqual(constant.ellipse.distanceDisplayCondition.getValue(date));
expect(e.ellipsoid.show.getValue(date)).toEqual(constant.ellipsoid.show.getValue(date));
expect(e.ellipsoid.radii.getValue(date)).toEqual(constant.ellipsoid.radii.getValue(date));
expect(e.ellipsoid.fill.getValue(date)).toEqual(constant.ellipsoid.fill.getValue(date));
expect(e.ellipsoid.material.color.getValue(date)).toEqual(constant.ellipsoid.material.color.getValue(date));
expect(e.ellipsoid.outline.getValue(date)).toEqual(constant.ellipsoid.outline.getValue(date));
expect(e.ellipsoid.outlineColor.getValue(date)).toEqual(constant.ellipsoid.outlineColor.getValue(date));
expect(e.ellipsoid.outlineWidth.getValue(date)).toEqual(constant.ellipsoid.outlineWidth.getValue(date));
expect(e.ellipsoid.stackPartitions.getValue(date)).toEqual(constant.ellipsoid.stackPartitions.getValue(date));
expect(e.ellipsoid.slicePartitions.getValue(date)).toEqual(constant.ellipsoid.slicePartitions.getValue(date));
expect(e.ellipsoid.subdivisions.getValue(date)).toEqual(constant.ellipsoid.subdivisions.getValue(date));
expect(e.ellipsoid.shadows.getValue(date)).toEqual(constant.ellipsoid.shadows.getValue(date));
expect(e.ellipsoid.distanceDisplayCondition.getValue(date)).toEqual(constant.ellipsoid.distanceDisplayCondition.getValue(date));
expect(e.label.show.getValue(date)).toEqual(constant.label.show.getValue(date));
expect(e.label.text.getValue(date)).toEqual(constant.label.text.getValue(date));
expect(e.label.font.getValue(date)).toEqual(constant.label.font.getValue(date));
expect(e.label.style.getValue(date)).toEqual(constant.label.style.getValue(date));
expect(e.label.scale.getValue(date)).toEqual(constant.label.scale.getValue(date));
expect(e.label.showBackground.getValue(date)).toEqual(constant.label.showBackground.getValue(date));
expect(e.label.backgroundColor.getValue(date)).toEqual(constant.label.backgroundColor.getValue(date));
expect(e.label.backgroundPadding.getValue(date)).toEqual(constant.label.backgroundPadding.getValue(date));
expect(e.label.pixelOffset.getValue(date)).toEqual(constant.label.pixelOffset.getValue(date));
expect(e.label.eyeOffset.getValue(date)).toEqual(constant.label.eyeOffset.getValue(date));
expect(e.label.horizontalOrigin.getValue(date)).toEqual(constant.label.horizontalOrigin.getValue(date));
expect(e.label.verticalOrigin.getValue(date)).toEqual(constant.label.verticalOrigin.getValue(date));
expect(e.label.heightReference.getValue(date)).toEqual(constant.label.heightReference.getValue(date));
expect(e.label.fillColor.getValue(date)).toEqual(constant.label.fillColor.getValue(date));
expect(e.label.outlineColor.getValue(date)).toEqual(constant.label.outlineColor.getValue(date));
expect(e.label.outlineWidth.getValue(date)).toEqual(constant.label.outlineWidth.getValue(date));
expect(e.label.translucencyByDistance.getValue(date)).toEqual(constant.label.translucencyByDistance.getValue(date));
expect(e.label.pixelOffsetScaleByDistance.getValue(date)).toEqual(constant.label.pixelOffsetScaleByDistance.getValue(date));
expect(e.label.scaleByDistance.getValue(date)).toEqual(constant.label.scaleByDistance.getValue(date));
expect(e.label.distanceDisplayCondition.getValue(date)).toEqual(constant.label.distanceDisplayCondition.getValue(date));
expect(e.label.disableDepthTestDistance.getValue(date)).toEqual(constant.label.disableDepthTestDistance.getValue(date));
expect(e.model.show.getValue(date)).toEqual(constant.model.show.getValue(date));
expect(e.model.uri.getValue(date)).toEqual(constant.model.uri.getValue(date));
expect(e.model.scale.getValue(date)).toEqual(constant.model.scale.getValue(date));
expect(e.model.minimumPixelSize.getValue(date)).toEqual(constant.model.minimumPixelSize.getValue(date));
expect(e.model.maximumScale.getValue(date)).toEqual(constant.model.maximumScale.getValue(date));
expect(e.model.incrementallyLoadTextures.getValue(date)).toEqual(constant.model.incrementallyLoadTextures.getValue(date));
expect(e.model.runAnimations.getValue(date)).toEqual(constant.model.runAnimations.getValue(date));
expect(e.model.shadows.getValue(date)).toEqual(constant.model.shadows.getValue(date));
expect(e.model.heightReference.getValue(date)).toEqual(constant.model.heightReference.getValue(date));
expect(e.model.silhouetteColor.getValue(date)).toEqual(constant.model.silhouetteColor.getValue(date));
expect(e.model.silhouetteSize.getValue(date)).toEqual(constant.model.silhouetteSize.getValue(date));
expect(e.model.color.getValue(date)).toEqual(constant.model.color.getValue(date));
expect(e.model.colorBlendMode.getValue(date)).toEqual(constant.model.colorBlendMode.getValue(date));
expect(e.model.colorBlendAmount.getValue(date)).toEqual(constant.model.colorBlendAmount.getValue(date));
expect(e.model.distanceDisplayCondition.getValue(date)).toEqual(constant.model.distanceDisplayCondition.getValue(date));
expect(e.model.nodeTransformations.referenceProp.translation.getValue(date)).toEqual(constant.model.nodeTransformations.prop.translation.getValue(date));
expect(e.model.nodeTransformations.referenceProp.rotation.getValue(date)).toEqual(constant.model.nodeTransformations.prop.rotation.getValue(date));
expect(e.model.nodeTransformations.referenceProp.scale.getValue(date)).toEqual(constant.model.nodeTransformations.prop.scale.getValue(date));
expect(e.path.show.getValue(date)).toEqual(constant.path.show.getValue(date));
expect(e.path.width.getValue(date)).toEqual(constant.path.width.getValue(date));
expect(e.path.resolution.getValue(date)).toEqual(constant.path.resolution.getValue(date));
expect(e.path.leadTime.getValue(date)).toEqual(constant.path.leadTime.getValue(date));
expect(e.path.trailTime.getValue(date)).toEqual(constant.path.trailTime.getValue(date));
expect(e.path.material.color.getValue(date)).toEqual(constant.path.material.color.getValue(date));
expect(e.path.distanceDisplayCondition.getValue(date)).toEqual(constant.path.distanceDisplayCondition.getValue(date));
expect(e.point.show.getValue(date)).toEqual(constant.point.show.getValue(date));
expect(e.point.pixelSize.getValue(date)).toEqual(constant.point.pixelSize.getValue(date));
expect(e.point.heightReference.getValue(date)).toEqual(constant.point.heightReference.getValue(date));
expect(e.point.color.getValue(date)).toEqual(constant.point.color.getValue(date));
expect(e.point.outlineColor.getValue(date)).toEqual(constant.point.outlineColor.getValue(date));
expect(e.point.outlineWidth.getValue(date)).toEqual(constant.point.outlineWidth.getValue(date));
expect(e.point.scaleByDistance.getValue(date)).toEqual(constant.point.scaleByDistance.getValue(date));
expect(e.point.translucencyByDistance.getValue(date)).toEqual(constant.point.translucencyByDistance.getValue(date));
expect(e.point.distanceDisplayCondition.getValue(date)).toEqual(constant.point.distanceDisplayCondition.getValue(date));
expect(e.point.disableDepthTestDistance.getValue(date)).toEqual(constant.point.disableDepthTestDistance.getValue(date));
expect(e.polygon.show.getValue(date)).toEqual(constant.polygon.show.getValue(date));
expect(e.polygon.hierarchy.getValue(date)).toEqual([dataSource.entities.getById('ConstantPosition1').position.getValue(date), dataSource.entities.getById('ConstantPosition2').position.getValue(date)]);
expect(e.polygon.height.getValue(date)).toEqual(constant.polygon.height.getValue(date));
expect(e.polygon.extrudedHeight.getValue(date)).toEqual(constant.polygon.extrudedHeight.getValue(date));
expect(e.polygon.stRotation.getValue(date)).toEqual(constant.polygon.stRotation.getValue(date));
expect(e.polygon.granularity.getValue(date)).toEqual(constant.polygon.granularity.getValue(date));
expect(e.polygon.fill.getValue(date)).toEqual(constant.polygon.fill.getValue(date));
expect(e.polygon.material.color.getValue(date)).toEqual(constant.polygon.material.color.getValue(date));
expect(e.polygon.outline.getValue(date)).toEqual(constant.polygon.outline.getValue(date));
expect(e.polygon.outlineColor.getValue(date)).toEqual(constant.polygon.outlineColor.getValue(date));
expect(e.polygon.outlineWidth.getValue(date)).toEqual(constant.polygon.outlineWidth.getValue(date));
expect(e.polygon.perPositionHeight.getValue(date)).toEqual(constant.polygon.perPositionHeight.getValue(date));
expect(e.polygon.closeTop.getValue(date)).toEqual(constant.polygon.closeTop.getValue(date));
expect(e.polygon.closeBottom.getValue(date)).toEqual(constant.polygon.closeBottom.getValue(date));
expect(e.polygon.shadows.getValue(date)).toEqual(constant.polygon.shadows.getValue(date));
expect(e.polygon.distanceDisplayCondition.getValue(date)).toEqual(constant.polygon.distanceDisplayCondition.getValue(date));
expect(e.polyline.show.getValue(date)).toEqual(constant.polyline.show.getValue(date));
expect(e.polyline.positions.getValue(date)).toEqual([dataSource.entities.getById('ConstantPosition1').position.getValue(date), dataSource.entities.getById('ConstantPosition2').position.getValue(date)]);
expect(e.polyline.width.getValue(date)).toEqual(constant.polyline.width.getValue(date));
expect(e.polyline.granularity.getValue(date)).toEqual(constant.polyline.granularity.getValue(date));
expect(e.polyline.material.color.getValue(date)).toEqual(constant.polyline.material.color.getValue(date));
expect(e.polyline.followSurface.getValue(date)).toEqual(constant.polyline.followSurface.getValue(date));
expect(e.polyline.shadows.getValue(date)).toEqual(constant.polyline.shadows.getValue(date));
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(constant.polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.distanceDisplayCondition.getValue(date)).toEqual(constant.polyline.distanceDisplayCondition.getValue(date));
expect(e.rectangle.show.getValue(date)).toEqual(constant.rectangle.show.getValue(date));
expect(e.rectangle.coordinates.getValue(date)).toEqual(constant.rectangle.coordinates.getValue(date));
expect(e.rectangle.height.getValue(date)).toEqual(constant.rectangle.height.getValue(date));
expect(e.rectangle.extrudedHeight.getValue(date)).toEqual(constant.rectangle.extrudedHeight.getValue(date));
expect(e.rectangle.rotation.getValue(date)).toEqual(constant.rectangle.rotation.getValue(date));
expect(e.rectangle.stRotation.getValue(date)).toEqual(constant.rectangle.stRotation.getValue(date));
expect(e.rectangle.granularity.getValue(date)).toEqual(constant.rectangle.granularity.getValue(date));
expect(e.rectangle.fill.getValue(date)).toEqual(constant.rectangle.fill.getValue(date));
expect(e.rectangle.material.color.getValue(date)).toEqual(constant.rectangle.material.color.getValue(date));
expect(e.rectangle.outline.getValue(date)).toEqual(constant.rectangle.outline.getValue(date));
expect(e.rectangle.outlineColor.getValue(date)).toEqual(constant.rectangle.outlineColor.getValue(date));
expect(e.rectangle.outlineWidth.getValue(date)).toEqual(constant.rectangle.outlineWidth.getValue(date));
expect(e.rectangle.shadows.getValue(date)).toEqual(constant.rectangle.shadows.getValue(date));
expect(e.rectangle.distanceDisplayCondition.getValue(date)).toEqual(constant.rectangle.distanceDisplayCondition.getValue(date));
expect(e.wall.show.getValue(date)).toEqual(constant.wall.show.getValue(date));
expect(e.wall.positions.getValue(date)).toEqual([dataSource.entities.getById('ConstantPosition1').position.getValue(date), dataSource.entities.getById('ConstantPosition2').position.getValue(date)]);
expect(e.wall.minimumHeights.getValue(date)).toEqual([dataSource.entities.getById('ConstantDouble1').billboard.scale.getValue(date), dataSource.entities.getById('ConstantDouble2').billboard.scale.getValue(date)]);
expect(e.wall.maximumHeights.getValue(date)).toEqual([dataSource.entities.getById('ConstantDouble1').billboard.scale.getValue(date), dataSource.entities.getById('ConstantDouble2').billboard.scale.getValue(date)]);
expect(e.wall.granularity.getValue(date)).toEqual(constant.wall.granularity.getValue(date));
expect(e.wall.fill.getValue(date)).toEqual(constant.wall.fill.getValue(date));
expect(e.wall.material.color.getValue(date)).toEqual(constant.wall.material.color.getValue(date));
expect(e.wall.outline.getValue(date)).toEqual(constant.wall.outline.getValue(date));
expect(e.wall.outlineColor.getValue(date)).toEqual(constant.wall.outlineColor.getValue(date));
expect(e.wall.outlineWidth.getValue(date)).toEqual(constant.wall.outlineWidth.getValue(date));
expect(e.wall.shadows.getValue(date)).toEqual(constant.wall.shadows.getValue(date));
expect(e.wall.distanceDisplayCondition.getValue(date)).toEqual(constant.wall.distanceDisplayCondition.getValue(date));
expect(e = dataSource.entities.getById('reference_box_material_image')).toBeDefined();
expect(e.box.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_image').box.material.image.getValue(date));
expect(e.box.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_image').box.material.repeat.getValue(date));
expect(e.box.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_image').box.material.color.getValue(date));
expect(e.box.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_image').box.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_box_material_grid')).toBeDefined();
expect(e.box.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_grid').box.material.color.getValue(date));
expect(e.box.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_grid').box.material.cellAlpha.getValue(date));
expect(e.box.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_grid').box.material.lineCount.getValue(date));
expect(e.box.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_grid').box.material.lineThickness.getValue(date));
expect(e.box.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_grid').box.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_box_material_stripe')).toBeDefined();
expect(e.box.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_stripe').box.material.orientation.getValue(date));
expect(e.box.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_stripe').box.material.evenColor.getValue(date));
expect(e.box.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_stripe').box.material.oddColor.getValue(date));
expect(e.box.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_stripe').box.material.offset.getValue(date));
expect(e.box.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_box_material_stripe').box.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_corridor_material_image')).toBeDefined();
expect(e.corridor.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_image').corridor.material.image.getValue(date));
expect(e.corridor.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_image').corridor.material.repeat.getValue(date));
expect(e.corridor.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_image').corridor.material.color.getValue(date));
expect(e.corridor.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_image').corridor.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_corridor_material_grid')).toBeDefined();
expect(e.corridor.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_grid').corridor.material.color.getValue(date));
expect(e.corridor.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_grid').corridor.material.cellAlpha.getValue(date));
expect(e.corridor.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_grid').corridor.material.lineCount.getValue(date));
expect(e.corridor.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_grid').corridor.material.lineThickness.getValue(date));
expect(e.corridor.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_grid').corridor.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_corridor_material_stripe')).toBeDefined();
expect(e.corridor.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_stripe').corridor.material.orientation.getValue(date));
expect(e.corridor.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_stripe').corridor.material.evenColor.getValue(date));
expect(e.corridor.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_stripe').corridor.material.oddColor.getValue(date));
expect(e.corridor.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_stripe').corridor.material.offset.getValue(date));
expect(e.corridor.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_corridor_material_stripe').corridor.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_cylinder_material_image')).toBeDefined();
expect(e.cylinder.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_image').cylinder.material.image.getValue(date));
expect(e.cylinder.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_image').cylinder.material.repeat.getValue(date));
expect(e.cylinder.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_image').cylinder.material.color.getValue(date));
expect(e.cylinder.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_image').cylinder.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_cylinder_material_grid')).toBeDefined();
expect(e.cylinder.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_grid').cylinder.material.color.getValue(date));
expect(e.cylinder.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_grid').cylinder.material.cellAlpha.getValue(date));
expect(e.cylinder.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_grid').cylinder.material.lineCount.getValue(date));
expect(e.cylinder.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_grid').cylinder.material.lineThickness.getValue(date));
expect(e.cylinder.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_grid').cylinder.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_cylinder_material_stripe')).toBeDefined();
expect(e.cylinder.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_stripe').cylinder.material.orientation.getValue(date));
expect(e.cylinder.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_stripe').cylinder.material.evenColor.getValue(date));
expect(e.cylinder.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_stripe').cylinder.material.oddColor.getValue(date));
expect(e.cylinder.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_stripe').cylinder.material.offset.getValue(date));
expect(e.cylinder.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_cylinder_material_stripe').cylinder.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipse_material_image')).toBeDefined();
expect(e.ellipse.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_image').ellipse.material.image.getValue(date));
expect(e.ellipse.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_image').ellipse.material.repeat.getValue(date));
expect(e.ellipse.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_image').ellipse.material.color.getValue(date));
expect(e.ellipse.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_image').ellipse.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipse_material_grid')).toBeDefined();
expect(e.ellipse.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_grid').ellipse.material.color.getValue(date));
expect(e.ellipse.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_grid').ellipse.material.cellAlpha.getValue(date));
expect(e.ellipse.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_grid').ellipse.material.lineCount.getValue(date));
expect(e.ellipse.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_grid').ellipse.material.lineThickness.getValue(date));
expect(e.ellipse.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_grid').ellipse.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipse_material_stripe')).toBeDefined();
expect(e.ellipse.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_stripe').ellipse.material.orientation.getValue(date));
expect(e.ellipse.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_stripe').ellipse.material.evenColor.getValue(date));
expect(e.ellipse.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_stripe').ellipse.material.oddColor.getValue(date));
expect(e.ellipse.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_stripe').ellipse.material.offset.getValue(date));
expect(e.ellipse.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_ellipse_material_stripe').ellipse.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipsoid_material_image')).toBeDefined();
expect(e.ellipsoid.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_image').ellipsoid.material.image.getValue(date));
expect(e.ellipsoid.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_image').ellipsoid.material.repeat.getValue(date));
expect(e.ellipsoid.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_image').ellipsoid.material.color.getValue(date));
expect(e.ellipsoid.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_image').ellipsoid.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipsoid_material_grid')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_grid').ellipsoid.material.color.getValue(date));
expect(e.ellipsoid.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_grid').ellipsoid.material.cellAlpha.getValue(date));
expect(e.ellipsoid.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_grid').ellipsoid.material.lineCount.getValue(date));
expect(e.ellipsoid.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_grid').ellipsoid.material.lineThickness.getValue(date));
expect(e.ellipsoid.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_grid').ellipsoid.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_ellipsoid_material_stripe')).toBeDefined();
expect(e.ellipsoid.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_stripe').ellipsoid.material.orientation.getValue(date));
expect(e.ellipsoid.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_stripe').ellipsoid.material.evenColor.getValue(date));
expect(e.ellipsoid.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_stripe').ellipsoid.material.oddColor.getValue(date));
expect(e.ellipsoid.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_stripe').ellipsoid.material.offset.getValue(date));
expect(e.ellipsoid.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_ellipsoid_material_stripe').ellipsoid.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_polylineOutline')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineOutline').path.material.color.getValue(date));
expect(e.path.material.outlineColor.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineOutline').path.material.outlineColor.getValue(date));
expect(e.path.material.outlineWidth.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineOutline').path.material.outlineWidth.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_polylineArrow')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineArrow').path.material.color.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_polylineDash')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineDash').path.material.color.getValue(date));
expect(e.path.material.gapColor.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineDash').path.material.gapColor.getValue(date));
expect(e.path.material.dashLength.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineDash').path.material.dashLength.getValue(date));
expect(e.path.material.dashPattern.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineDash').path.material.dashPattern.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_polylineGlow')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineGlow').path.material.color.getValue(date));
expect(e.path.material.glowPower.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_polylineGlow').path.material.glowPower.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_image')).toBeDefined();
expect(e.path.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_image').path.material.image.getValue(date));
expect(e.path.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_image').path.material.repeat.getValue(date));
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_image').path.material.color.getValue(date));
expect(e.path.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_image').path.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_grid')).toBeDefined();
expect(e.path.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_grid').path.material.color.getValue(date));
expect(e.path.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_grid').path.material.cellAlpha.getValue(date));
expect(e.path.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_grid').path.material.lineCount.getValue(date));
expect(e.path.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_grid').path.material.lineThickness.getValue(date));
expect(e.path.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_grid').path.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_path_material_stripe')).toBeDefined();
expect(e.path.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_stripe').path.material.orientation.getValue(date));
expect(e.path.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_stripe').path.material.evenColor.getValue(date));
expect(e.path.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_stripe').path.material.oddColor.getValue(date));
expect(e.path.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_stripe').path.material.offset.getValue(date));
expect(e.path.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_path_material_stripe').path.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_polygon_material_image')).toBeDefined();
expect(e.polygon.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_image').polygon.material.image.getValue(date));
expect(e.polygon.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_image').polygon.material.repeat.getValue(date));
expect(e.polygon.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_image').polygon.material.color.getValue(date));
expect(e.polygon.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_image').polygon.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_polygon_material_grid')).toBeDefined();
expect(e.polygon.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_grid').polygon.material.color.getValue(date));
expect(e.polygon.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_grid').polygon.material.cellAlpha.getValue(date));
expect(e.polygon.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_grid').polygon.material.lineCount.getValue(date));
expect(e.polygon.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_grid').polygon.material.lineThickness.getValue(date));
expect(e.polygon.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_grid').polygon.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_polygon_material_stripe')).toBeDefined();
expect(e.polygon.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_stripe').polygon.material.orientation.getValue(date));
expect(e.polygon.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_stripe').polygon.material.evenColor.getValue(date));
expect(e.polygon.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_stripe').polygon.material.oddColor.getValue(date));
expect(e.polygon.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_stripe').polygon.material.offset.getValue(date));
expect(e.polygon.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polygon_material_stripe').polygon.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_polylineOutline')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineOutline').polyline.material.color.getValue(date));
expect(e.polyline.material.outlineColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineOutline').polyline.material.outlineColor.getValue(date));
expect(e.polyline.material.outlineWidth.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineOutline').polyline.material.outlineWidth.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_polylineArrow')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineArrow').polyline.material.color.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_polylineDash')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineDash').polyline.material.color.getValue(date));
expect(e.polyline.material.gapColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineDash').polyline.material.gapColor.getValue(date));
expect(e.polyline.material.dashLength.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineDash').polyline.material.dashLength.getValue(date));
expect(e.polyline.material.dashPattern.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineDash').polyline.material.dashPattern.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_polylineGlow')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineGlow').polyline.material.color.getValue(date));
expect(e.polyline.material.glowPower.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_polylineGlow').polyline.material.glowPower.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_image')).toBeDefined();
expect(e.polyline.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_image').polyline.material.image.getValue(date));
expect(e.polyline.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_image').polyline.material.repeat.getValue(date));
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_image').polyline.material.color.getValue(date));
expect(e.polyline.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_image').polyline.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_grid')).toBeDefined();
expect(e.polyline.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_grid').polyline.material.color.getValue(date));
expect(e.polyline.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_grid').polyline.material.cellAlpha.getValue(date));
expect(e.polyline.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_grid').polyline.material.lineCount.getValue(date));
expect(e.polyline.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_grid').polyline.material.lineThickness.getValue(date));
expect(e.polyline.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_grid').polyline.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_material_stripe')).toBeDefined();
expect(e.polyline.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_stripe').polyline.material.orientation.getValue(date));
expect(e.polyline.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_stripe').polyline.material.evenColor.getValue(date));
expect(e.polyline.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_stripe').polyline.material.oddColor.getValue(date));
expect(e.polyline.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_stripe').polyline.material.offset.getValue(date));
expect(e.polyline.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_material_stripe').polyline.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_polylineOutline')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineOutline').polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.depthFailMaterial.outlineColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineOutline').polyline.depthFailMaterial.outlineColor.getValue(date));
expect(e.polyline.depthFailMaterial.outlineWidth.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineOutline').polyline.depthFailMaterial.outlineWidth.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_polylineArrow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineArrow').polyline.depthFailMaterial.color.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_polylineDash')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineDash').polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.depthFailMaterial.gapColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineDash').polyline.depthFailMaterial.gapColor.getValue(date));
expect(e.polyline.depthFailMaterial.dashLength.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineDash').polyline.depthFailMaterial.dashLength.getValue(date));
expect(e.polyline.depthFailMaterial.dashPattern.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineDash').polyline.depthFailMaterial.dashPattern.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_polylineGlow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineGlow').polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.depthFailMaterial.glowPower.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_polylineGlow').polyline.depthFailMaterial.glowPower.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_image')).toBeDefined();
expect(e.polyline.depthFailMaterial.image.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_image').polyline.depthFailMaterial.image.getValue(date));
expect(e.polyline.depthFailMaterial.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_image').polyline.depthFailMaterial.repeat.getValue(date));
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_image').polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.depthFailMaterial.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_image').polyline.depthFailMaterial.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_grid')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_grid').polyline.depthFailMaterial.color.getValue(date));
expect(e.polyline.depthFailMaterial.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_grid').polyline.depthFailMaterial.cellAlpha.getValue(date));
expect(e.polyline.depthFailMaterial.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_grid').polyline.depthFailMaterial.lineCount.getValue(date));
expect(e.polyline.depthFailMaterial.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_grid').polyline.depthFailMaterial.lineThickness.getValue(date));
expect(e.polyline.depthFailMaterial.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_grid').polyline.depthFailMaterial.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_polyline_depthFailMaterial_stripe')).toBeDefined();
expect(e.polyline.depthFailMaterial.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_stripe').polyline.depthFailMaterial.orientation.getValue(date));
expect(e.polyline.depthFailMaterial.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_stripe').polyline.depthFailMaterial.evenColor.getValue(date));
expect(e.polyline.depthFailMaterial.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_stripe').polyline.depthFailMaterial.oddColor.getValue(date));
expect(e.polyline.depthFailMaterial.offset.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_stripe').polyline.depthFailMaterial.offset.getValue(date));
expect(e.polyline.depthFailMaterial.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_polyline_depthFailMaterial_stripe').polyline.depthFailMaterial.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_rectangle_material_image')).toBeDefined();
expect(e.rectangle.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_image').rectangle.material.image.getValue(date));
expect(e.rectangle.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_image').rectangle.material.repeat.getValue(date));
expect(e.rectangle.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_image').rectangle.material.color.getValue(date));
expect(e.rectangle.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_image').rectangle.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_rectangle_material_grid')).toBeDefined();
expect(e.rectangle.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_grid').rectangle.material.color.getValue(date));
expect(e.rectangle.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_grid').rectangle.material.cellAlpha.getValue(date));
expect(e.rectangle.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_grid').rectangle.material.lineCount.getValue(date));
expect(e.rectangle.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_grid').rectangle.material.lineThickness.getValue(date));
expect(e.rectangle.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_grid').rectangle.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_rectangle_material_stripe')).toBeDefined();
expect(e.rectangle.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_stripe').rectangle.material.orientation.getValue(date));
expect(e.rectangle.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_stripe').rectangle.material.evenColor.getValue(date));
expect(e.rectangle.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_stripe').rectangle.material.oddColor.getValue(date));
expect(e.rectangle.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_stripe').rectangle.material.offset.getValue(date));
expect(e.rectangle.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_rectangle_material_stripe').rectangle.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_wall_material_image')).toBeDefined();
expect(e.wall.material.image.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_image').wall.material.image.getValue(date));
expect(e.wall.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_image').wall.material.repeat.getValue(date));
expect(e.wall.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_image').wall.material.color.getValue(date));
expect(e.wall.material.transparent.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_image').wall.material.transparent.getValue(date));
expect(e = dataSource.entities.getById('reference_wall_material_grid')).toBeDefined();
expect(e.wall.material.color.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_grid').wall.material.color.getValue(date));
expect(e.wall.material.cellAlpha.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_grid').wall.material.cellAlpha.getValue(date));
expect(e.wall.material.lineCount.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_grid').wall.material.lineCount.getValue(date));
expect(e.wall.material.lineThickness.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_grid').wall.material.lineThickness.getValue(date));
expect(e.wall.material.lineOffset.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_grid').wall.material.lineOffset.getValue(date));
expect(e = dataSource.entities.getById('reference_wall_material_stripe')).toBeDefined();
expect(e.wall.material.orientation.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_stripe').wall.material.orientation.getValue(date));
expect(e.wall.material.evenColor.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_stripe').wall.material.evenColor.getValue(date));
expect(e.wall.material.oddColor.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_stripe').wall.material.oddColor.getValue(date));
expect(e.wall.material.offset.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_stripe').wall.material.offset.getValue(date));
expect(e.wall.material.repeat.getValue(date)).toEqual(dataSource.entities.getById('material_wall_material_stripe').wall.material.repeat.getValue(date));
expect(e = dataSource.entities.getById('reference_conicSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_conicSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_customPatternSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_rectangularSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('reference_fan_material_image')).toBeDefined();
expect(e = dataSource.entities.getById('reference_fan_material_grid')).toBeDefined();
expect(e = dataSource.entities.getById('reference_fan_material_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('VelocityPosition')).toBeDefined();
expect(e.position.getValue(documentStartDate)).toEqual(new Cartesian3(1, 2, 3));
expect(e.position.getValue(JulianDate.addSeconds(documentStartDate, 60, new JulianDate()))).toEqual(new Cartesian3(61, 122, 183));
expect(e = dataSource.entities.getById('velocityReference_billboard_alignedAxis')).toBeDefined();
expect(e.billboard.alignedAxis.getValue(JulianDate.addSeconds(documentStartDate, 50, new JulianDate()))).toEqualEpsilon(new Cartesian3(0.267261241912424, 0.534522483824849, 0.801783725737273), 1e-13);
expect(e = dataSource.entities.getById('Sampled')).toBeDefined();
expect(e.position.getValue(documentStartDate)).toEqual(new Cartesian3(14893, 22330, 50775));
expect(e.position.getValue(documentStopDate)).toEqual(new Cartesian3(44952, 52911, 45006));
expect(e.orientation.getValue(documentStartDate)).toEqualEpsilon(new Quaternion(0.63382030572505, 0.114406464045845, 0.748788933003267, 0.156518736408648), 1e-14);
expect(e.orientation.getValue(documentStopDate)).toEqualEpsilon(new Quaternion(0.670778929875422, 0.608790403475694, 0.320013828781515, 0.277526613606122), 1e-14);
expect(e.viewFrom.getValue(documentStartDate)).toEqual(new Cartesian3(36965, 47504, 12985));
expect(e.viewFrom.getValue(documentStopDate)).toEqual(new Cartesian3(16155, 2367, 57353));
expect(e.billboard.scale.getValue(documentStartDate)).toEqual(5763.0);
expect(e.billboard.scale.getValue(documentStopDate)).toEqual(31607.0);
expect(e.billboard.pixelOffset.getValue(documentStartDate)).toEqual(new Cartesian2(2029, 62215));
expect(e.billboard.pixelOffset.getValue(documentStopDate)).toEqual(new Cartesian2(30658, 12919));
expect(e.billboard.eyeOffset.getValue(documentStartDate)).toEqual(new Cartesian3(3553, 23821, 42589));
expect(e.billboard.eyeOffset.getValue(documentStopDate)).toEqual(new Cartesian3(3059, 48139, 28860));
expect(e.billboard.color.getValue(documentStartDate)).toEqual(Color.fromBytes(85, 19, 239, 63));
expect(e.billboard.color.getValue(documentStopDate)).toEqual(Color.fromBytes(160, 189, 87, 99));
expect(e.billboard.rotation.getValue(documentStartDate)).toEqual(4554.0);
expect(e.billboard.rotation.getValue(documentStopDate)).toEqual(21210.0);
expect(e.billboard.alignedAxis.getValue(documentStartDate)).toEqualEpsilon(new Cartesian3(0.971559394453729, 0.230094854374832, 0.0559347927405484), 1e-14);
expect(e.billboard.alignedAxis.getValue(documentStopDate)).toEqualEpsilon(new Cartesian3(0.384810775516236, 0.82287332508932, 0.418091088045462), 1e-14);
expect(e.billboard.width.getValue(documentStartDate)).toEqual(21333.0);
expect(e.billboard.width.getValue(documentStopDate)).toEqual(51893.0);
expect(e.billboard.height.getValue(documentStartDate)).toEqual(48314.0);
expect(e.billboard.height.getValue(documentStopDate)).toEqual(61118.0);
expect(e.billboard.scaleByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(46842, 10678, 46377, 15029));
expect(e.billboard.scaleByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(20642, 43600, 7082, 11291));
expect(e.billboard.translucencyByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(64366, 52219, 8139, 10015));
expect(e.billboard.translucencyByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(10918, 18986, 49738, 60610));
expect(e.billboard.pixelOffsetScaleByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(54503, 26068, 41061, 59552));
expect(e.billboard.pixelOffsetScaleByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(37417, 4754, 19986, 15182));
expect(e.billboard.imageSubRegion.getValue(documentStartDate)).toEqual(new BoundingRectangle(26590, 12135, 16431, 56640));
expect(e.billboard.imageSubRegion.getValue(documentStopDate)).toEqual(new BoundingRectangle(43063, 42664, 60326, 52715));
expect(e.billboard.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(952, 47317));
expect(e.billboard.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(16896, 28226));
expect(e.billboard.disableDepthTestDistance.getValue(documentStartDate)).toEqual(18661.0);
expect(e.billboard.disableDepthTestDistance.getValue(documentStopDate)).toEqual(61609.0);
expect(e.box.dimensions.getValue(documentStartDate)).toEqual(new Cartesian3(37525, 42898, 18087));
expect(e.box.dimensions.getValue(documentStopDate)).toEqual(new Cartesian3(49399, 59584, 63976));
expect(e.box.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(172, 28, 222, 165));
expect(e.box.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(16, 192, 121, 150));
expect(e.box.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(53, 66, 217, 237));
expect(e.box.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(163, 75, 228, 48));
expect(e.box.outlineWidth.getValue(documentStartDate)).toEqual(45211.0);
expect(e.box.outlineWidth.getValue(documentStopDate)).toEqual(20490.0);
expect(e.box.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(8940, 60664));
expect(e.box.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(41202, 60832));
expect(e.corridor.width.getValue(documentStartDate)).toEqual(62443.0);
expect(e.corridor.width.getValue(documentStopDate)).toEqual(13988.0);
expect(e.corridor.height.getValue(documentStartDate)).toEqual(20585.0);
expect(e.corridor.height.getValue(documentStopDate)).toEqual(63872.0);
expect(e.corridor.extrudedHeight.getValue(documentStartDate)).toEqual(63407.0);
expect(e.corridor.extrudedHeight.getValue(documentStopDate)).toEqual(42397.0);
expect(e.corridor.granularity.getValue(documentStartDate)).toEqual(43027.0);
expect(e.corridor.granularity.getValue(documentStopDate)).toEqual(55912.0);
expect(e.corridor.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(35, 213, 31, 79));
expect(e.corridor.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(87, 126, 23, 40));
expect(e.corridor.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(137, 114, 57, 34));
expect(e.corridor.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(93, 178, 74, 64));
expect(e.corridor.outlineWidth.getValue(documentStartDate)).toEqual(14678.0);
expect(e.corridor.outlineWidth.getValue(documentStopDate)).toEqual(57820.0);
expect(e.corridor.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(10884, 63530));
expect(e.corridor.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(20076, 27683));
expect(e.cylinder.length.getValue(documentStartDate)).toEqual(30241.0);
expect(e.cylinder.length.getValue(documentStopDate)).toEqual(48364.0);
expect(e.cylinder.topRadius.getValue(documentStartDate)).toEqual(62881.0);
expect(e.cylinder.topRadius.getValue(documentStopDate)).toEqual(16270.0);
expect(e.cylinder.bottomRadius.getValue(documentStartDate)).toEqual(61925.0);
expect(e.cylinder.bottomRadius.getValue(documentStopDate)).toEqual(21514.0);
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(133, 36, 52, 121));
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(7, 13, 34, 201));
expect(e.cylinder.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(112, 241, 40, 103));
expect(e.cylinder.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(237, 75, 59, 51));
expect(e.cylinder.outlineWidth.getValue(documentStartDate)).toEqual(36483.0);
expect(e.cylinder.outlineWidth.getValue(documentStopDate)).toEqual(32586.0);
expect(e.cylinder.numberOfVerticalLines.getValue(documentStartDate)).toEqual(45816.0);
expect(e.cylinder.numberOfVerticalLines.getValue(documentStopDate)).toEqual(42247.0);
expect(e.cylinder.slices.getValue(documentStartDate)).toEqual(46140.0);
expect(e.cylinder.slices.getValue(documentStopDate)).toEqual(53530.0);
expect(e.cylinder.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(2783, 57220));
expect(e.cylinder.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(13855, 50230));
expect(e.ellipse.semiMajorAxis.getValue(documentStartDate)).toEqual(13136.0);
expect(e.ellipse.semiMajorAxis.getValue(documentStopDate)).toEqual(55507.0);
expect(e.ellipse.semiMinorAxis.getValue(documentStartDate)).toEqual(41580.0);
expect(e.ellipse.semiMinorAxis.getValue(documentStopDate)).toEqual(60905.0);
expect(e.ellipse.height.getValue(documentStartDate)).toEqual(5567.0);
expect(e.ellipse.height.getValue(documentStopDate)).toEqual(45588.0);
expect(e.ellipse.extrudedHeight.getValue(documentStartDate)).toEqual(16542.0);
expect(e.ellipse.extrudedHeight.getValue(documentStopDate)).toEqual(13545.0);
expect(e.ellipse.rotation.getValue(documentStartDate)).toEqual(5797.0);
expect(e.ellipse.rotation.getValue(documentStopDate)).toEqual(24542.0);
expect(e.ellipse.stRotation.getValue(documentStartDate)).toEqual(20596.0);
expect(e.ellipse.stRotation.getValue(documentStopDate)).toEqual(58204.0);
expect(e.ellipse.granularity.getValue(documentStartDate)).toEqual(2228.0);
expect(e.ellipse.granularity.getValue(documentStopDate)).toEqual(43731.0);
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(174, 250, 78, 96));
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(63, 102, 221, 174));
expect(e.ellipse.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(243, 123, 194, 31));
expect(e.ellipse.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(236, 100, 22, 203));
expect(e.ellipse.outlineWidth.getValue(documentStartDate)).toEqual(60636.0);
expect(e.ellipse.outlineWidth.getValue(documentStopDate)).toEqual(24194.0);
expect(e.ellipse.numberOfVerticalLines.getValue(documentStartDate)).toEqual(52822.0);
expect(e.ellipse.numberOfVerticalLines.getValue(documentStopDate)).toEqual(45768.0);
expect(e.ellipse.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(38393, 63947));
expect(e.ellipse.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(29119, 43121));
expect(e.ellipsoid.radii.getValue(documentStartDate)).toEqual(new Cartesian3(5183, 10004, 13863));
expect(e.ellipsoid.radii.getValue(documentStopDate)).toEqual(new Cartesian3(39497, 12186, 45103));
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(137, 128, 194, 84));
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(50, 122, 190, 247));
expect(e.ellipsoid.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(247, 210, 180, 171));
expect(e.ellipsoid.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(239, 35, 237, 247));
expect(e.ellipsoid.outlineWidth.getValue(documentStartDate)).toEqual(10713.0);
expect(e.ellipsoid.outlineWidth.getValue(documentStopDate)).toEqual(10444.0);
expect(e.ellipsoid.stackPartitions.getValue(documentStartDate)).toEqual(5841);
expect(e.ellipsoid.stackPartitions.getValue(documentStopDate)).toEqual(39170);
expect(e.ellipsoid.slicePartitions.getValue(documentStartDate)).toEqual(50327);
expect(e.ellipsoid.slicePartitions.getValue(documentStopDate)).toEqual(4672);
expect(e.ellipsoid.subdivisions.getValue(documentStartDate)).toEqual(10225.0);
expect(e.ellipsoid.subdivisions.getValue(documentStopDate)).toEqual(53957.0);
expect(e.ellipsoid.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(11751, 59227));
expect(e.ellipsoid.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(4769, 41441));
expect(e.label.scale.getValue(documentStartDate)).toEqual(40153.0);
expect(e.label.scale.getValue(documentStopDate)).toEqual(42123.0);
expect(e.label.backgroundColor.getValue(documentStartDate)).toEqual(Color.fromBytes(30, 92, 161, 169));
expect(e.label.backgroundColor.getValue(documentStopDate)).toEqual(Color.fromBytes(85, 52, 166, 62));
expect(e.label.backgroundPadding.getValue(documentStartDate)).toEqual(new Cartesian2(32945, 5504));
expect(e.label.backgroundPadding.getValue(documentStopDate)).toEqual(new Cartesian2(35323, 6281));
expect(e.label.pixelOffset.getValue(documentStartDate)).toEqual(new Cartesian2(8539, 9761));
expect(e.label.pixelOffset.getValue(documentStopDate)).toEqual(new Cartesian2(10537, 54569));
expect(e.label.eyeOffset.getValue(documentStartDate)).toEqual(new Cartesian3(5984, 34327, 59014));
expect(e.label.eyeOffset.getValue(documentStopDate)).toEqual(new Cartesian3(1931, 5127, 18964));
expect(e.label.fillColor.getValue(documentStartDate)).toEqual(Color.fromBytes(17, 212, 62, 58));
expect(e.label.fillColor.getValue(documentStopDate)).toEqual(Color.fromBytes(214, 69, 90, 116));
expect(e.label.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(205, 14, 169, 70));
expect(e.label.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(143, 73, 168, 17));
expect(e.label.outlineWidth.getValue(documentStartDate)).toEqual(53305.0);
expect(e.label.outlineWidth.getValue(documentStopDate)).toEqual(43838.0);
expect(e.label.translucencyByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(25055, 32865, 32128, 29309));
expect(e.label.translucencyByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(58875, 9189, 20515, 15696));
expect(e.label.pixelOffsetScaleByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(45296, 62896, 38133, 40084));
expect(e.label.pixelOffsetScaleByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(28657, 25711, 9316, 62756));
expect(e.label.scaleByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(22356, 26711, 58216, 52963));
expect(e.label.scaleByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(26464, 26471, 23143, 37466));
expect(e.label.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(2314, 2614));
expect(e.label.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(23998, 48733));
expect(e.label.disableDepthTestDistance.getValue(documentStartDate)).toEqual(250.0);
expect(e.label.disableDepthTestDistance.getValue(documentStopDate)).toEqual(40425.0);
expect(e.model.scale.getValue(documentStartDate)).toEqual(63647.0);
expect(e.model.scale.getValue(documentStopDate)).toEqual(53878.0);
expect(e.model.minimumPixelSize.getValue(documentStartDate)).toEqual(16357.0);
expect(e.model.minimumPixelSize.getValue(documentStopDate)).toEqual(40522.0);
expect(e.model.maximumScale.getValue(documentStartDate)).toEqual(8290.0);
expect(e.model.maximumScale.getValue(documentStopDate)).toEqual(25558.0);
expect(e.model.silhouetteColor.getValue(documentStartDate)).toEqual(Color.fromBytes(33, 239, 70, 81));
expect(e.model.silhouetteColor.getValue(documentStopDate)).toEqual(Color.fromBytes(60, 48, 26, 123));
expect(e.model.silhouetteSize.getValue(documentStartDate)).toEqual(65103.0);
expect(e.model.silhouetteSize.getValue(documentStopDate)).toEqual(29065.0);
expect(e.model.color.getValue(documentStartDate)).toEqual(Color.fromBytes(74, 69, 164, 116));
expect(e.model.color.getValue(documentStopDate)).toEqual(Color.fromBytes(127, 30, 46, 170));
expect(e.model.colorBlendAmount.getValue(documentStartDate)).toEqual(64130.0);
expect(e.model.colorBlendAmount.getValue(documentStopDate)).toEqual(21967.0);
expect(e.model.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(33246, 36993));
expect(e.model.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(5814, 10006));
expect(e.path.width.getValue(documentStartDate)).toEqual(32449.0);
expect(e.path.width.getValue(documentStopDate)).toEqual(33819.0);
expect(e.path.resolution.getValue(documentStartDate)).toEqual(8399.0);
expect(e.path.resolution.getValue(documentStopDate)).toEqual(19400.0);
expect(e.path.leadTime.getValue(documentStartDate)).toEqual(40222.0);
expect(e.path.leadTime.getValue(documentStopDate)).toEqual(33294.0);
expect(e.path.trailTime.getValue(documentStartDate)).toEqual(34052.0);
expect(e.path.trailTime.getValue(documentStopDate)).toEqual(57713.0);
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(97, 239, 22, 105));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(242, 157, 215, 125));
expect(e.path.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(42994, 62047));
expect(e.path.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(52406, 59340));
expect(e.point.pixelSize.getValue(documentStartDate)).toEqual(39714.0);
expect(e.point.pixelSize.getValue(documentStopDate)).toEqual(3313.0);
expect(e.point.color.getValue(documentStartDate)).toEqual(Color.fromBytes(137, 151, 128, 95));
expect(e.point.color.getValue(documentStopDate)).toEqual(Color.fromBytes(99, 157, 124, 108));
expect(e.point.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(225, 246, 102, 195));
expect(e.point.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(248, 38, 75, 222));
expect(e.point.outlineWidth.getValue(documentStartDate)).toEqual(48323.0);
expect(e.point.outlineWidth.getValue(documentStopDate)).toEqual(50914.0);
expect(e.point.scaleByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(39727, 50843, 56262, 15579));
expect(e.point.scaleByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(60522, 63980, 30201, 25205));
expect(e.point.translucencyByDistance.getValue(documentStartDate)).toEqual(new NearFarScalar(61190, 16879, 16449, 10048));
expect(e.point.translucencyByDistance.getValue(documentStopDate)).toEqual(new NearFarScalar(46491, 47541, 35769, 13707));
expect(e.point.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(7642, 55841));
expect(e.point.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(24270, 29534));
expect(e.point.disableDepthTestDistance.getValue(documentStartDate)).toEqual(30881.0);
expect(e.point.disableDepthTestDistance.getValue(documentStopDate)).toEqual(6667.0);
expect(e.polygon.height.getValue(documentStartDate)).toEqual(64265.0);
expect(e.polygon.height.getValue(documentStopDate)).toEqual(19257.0);
expect(e.polygon.extrudedHeight.getValue(documentStartDate)).toEqual(12315.0);
expect(e.polygon.extrudedHeight.getValue(documentStopDate)).toEqual(4797.0);
expect(e.polygon.stRotation.getValue(documentStartDate)).toEqual(24959.0);
expect(e.polygon.stRotation.getValue(documentStopDate)).toEqual(32341.0);
expect(e.polygon.granularity.getValue(documentStartDate)).toEqual(51922.0);
expect(e.polygon.granularity.getValue(documentStopDate)).toEqual(9185.0);
expect(e.polygon.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(19, 40, 12, 31));
expect(e.polygon.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(179, 204, 8, 194));
expect(e.polygon.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(187, 223, 120, 26));
expect(e.polygon.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(20, 135, 105, 81));
expect(e.polygon.outlineWidth.getValue(documentStartDate)).toEqual(48428.0);
expect(e.polygon.outlineWidth.getValue(documentStopDate)).toEqual(41508.0);
expect(e.polygon.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(22140, 31962));
expect(e.polygon.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(3927, 22422));
expect(e.polyline.width.getValue(documentStartDate)).toEqual(60367.0);
expect(e.polyline.width.getValue(documentStopDate)).toEqual(31077.0);
expect(e.polyline.granularity.getValue(documentStartDate)).toEqual(62537.0);
expect(e.polyline.granularity.getValue(documentStopDate)).toEqual(14676.0);
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(90, 30, 195, 220));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(39, 17, 221, 74));
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(217, 122, 10, 152));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(76, 105, 5, 67));
expect(e.polyline.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(4857, 10258));
expect(e.polyline.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(36588, 47246));
expect(e.rectangle.coordinates.getValue(documentStartDate)).toEqual(new Rectangle(0.392205830501108, 1.04907471338688, 0.00211010473645246, 0.064281089310235));
expect(e.rectangle.coordinates.getValue(documentStopDate)).toEqual(new Rectangle(0.523469985903937, 0.229690388867811, 0.399550037703662, 0.48478405941078));
expect(e.rectangle.height.getValue(documentStartDate)).toEqual(56388.0);
expect(e.rectangle.height.getValue(documentStopDate)).toEqual(59991.0);
expect(e.rectangle.extrudedHeight.getValue(documentStartDate)).toEqual(39796.0);
expect(e.rectangle.extrudedHeight.getValue(documentStopDate)).toEqual(33335.0);
expect(e.rectangle.rotation.getValue(documentStartDate)).toEqual(26921.0);
expect(e.rectangle.rotation.getValue(documentStopDate)).toEqual(46937.0);
expect(e.rectangle.stRotation.getValue(documentStartDate)).toEqual(65255.0);
expect(e.rectangle.stRotation.getValue(documentStopDate)).toEqual(12220.0);
expect(e.rectangle.granularity.getValue(documentStartDate)).toEqual(6948.0);
expect(e.rectangle.granularity.getValue(documentStopDate)).toEqual(2204.0);
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(106, 81, 64, 152));
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(94, 108, 96, 154));
expect(e.rectangle.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(6, 244, 49, 131));
expect(e.rectangle.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(87, 190, 148, 55));
expect(e.rectangle.outlineWidth.getValue(documentStartDate)).toEqual(41576.0);
expect(e.rectangle.outlineWidth.getValue(documentStopDate)).toEqual(33933.0);
expect(e.rectangle.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(24813, 30560));
expect(e.rectangle.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(34617, 40071));
expect(e.wall.granularity.getValue(documentStartDate)).toEqual(64428.0);
expect(e.wall.granularity.getValue(documentStopDate)).toEqual(25333.0);
expect(e.wall.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(31, 188, 250, 46));
expect(e.wall.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(78, 91, 199, 227));
expect(e.wall.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(241, 39, 105, 205));
expect(e.wall.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(184, 17, 208, 44));
expect(e.wall.outlineWidth.getValue(documentStartDate)).toEqual(62000.0);
expect(e.wall.outlineWidth.getValue(documentStopDate)).toEqual(40549.0);
expect(e.wall.distanceDisplayCondition.getValue(documentStartDate)).toEqual(new DistanceDisplayCondition(12470, 36912));
expect(e.wall.distanceDisplayCondition.getValue(documentStopDate)).toEqual(new DistanceDisplayCondition(35574, 63040));
expect(e = dataSource.entities.getById('sampled_position_cartographicRadians')).toBeDefined();
expect(e.position.getValue(documentStartDate)).toEqual(Cartesian3.fromRadians(1.00319530145806, 0.889718921347432, 16911));
expect(e.position.getValue(documentStopDate)).toEqual(Cartesian3.fromRadians(0.828301545608097, 0.517994728610812, 62937));
expect(e = dataSource.entities.getById('sampled_position_cartographicDegrees')).toBeDefined();
expect(e.position.getValue(documentStartDate)).toEqual(Cartesian3.fromDegrees(43, 23, 63733));
expect(e.position.getValue(documentStopDate)).toEqual(Cartesian3.fromDegrees(28, 12, 9806));
expect(e = dataSource.entities.getById('sampled_position_cartesianVelocity')).toBeDefined();
expect(e.position.getValue(documentStartDate)).toEqual(new Cartesian3(40342, 23709, 14940));
expect(e.position.getValue(documentStopDate)).toEqual(new Cartesian3(25648, 55396, 53208));
expect(e = dataSource.entities.getById('sampled_billboard_color_rgbaf')).toBeDefined();
expect(e.billboard.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0235294117647059, 0.427450980392157, 0.658823529411765, 0.0980392156862745), 1e-14);
expect(e.billboard.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.968627450980392, 0.752941176470588, 0.843137254901961, 0.164705882352941), 1e-14);
expect(e = dataSource.entities.getById('sampled_billboard_alignedAxis_unitSpherical')).toBeDefined();
expect(e.billboard.alignedAxis.getValue(documentStartDate)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(57328, 53471)), 1e-14);
expect(e.billboard.alignedAxis.getValue(documentStopDate)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(51360, 27848)), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_material_solidColor_color')).toBeDefined();
expect(e.box.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.556862745098039, 0.541176470588235, 0.956862745098039, 0.317647058823529), 1e-14);
expect(e.box.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.792156862745098, 0.92156862745098, 0.125490196078431, 0.784313725490196), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_material_image')).toBeDefined();
expect(e.box.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(21562, 11604));
expect(e.box.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(56719, 11741));
expect(e.box.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(146, 124, 215, 53));
expect(e.box.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(229, 219, 61, 100));
expect(e = dataSource.entities.getById('sampled_box_material_grid')).toBeDefined();
expect(e.box.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(111, 151, 56, 118));
expect(e.box.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(178, 77, 41, 86));
expect(e.box.material.cellAlpha.getValue(documentStartDate)).toEqual(10400.0);
expect(e.box.material.cellAlpha.getValue(documentStopDate)).toEqual(10941.0);
expect(e.box.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(3433, 28173));
expect(e.box.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(53350, 6864));
expect(e.box.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(36990, 37264));
expect(e.box.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(38412, 45974));
expect(e.box.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(38761, 46487));
expect(e.box.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(62553, 37876));
expect(e = dataSource.entities.getById('sampled_box_material_stripe')).toBeDefined();
expect(e.box.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(251, 59, 84, 41));
expect(e.box.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(20, 214, 81, 152));
expect(e.box.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(233, 71, 17, 115));
expect(e.box.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(20, 178, 40, 30));
expect(e.box.material.offset.getValue(documentStartDate)).toEqual(46979.0);
expect(e.box.material.offset.getValue(documentStopDate)).toEqual(1457.0);
expect(e.box.material.repeat.getValue(documentStartDate)).toEqual(10283.0);
expect(e.box.material.repeat.getValue(documentStopDate)).toEqual(63419.0);
expect(e = dataSource.entities.getById('sampled_box_material_image_color')).toBeDefined();
expect(e.box.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.149019607843137, 0.929411764705882, 0.462745098039216, 0.764705882352941), 1e-14);
expect(e.box.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.890196078431373, 0.262745098039216, 0.866666666666667, 0.792156862745098), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_material_grid_color')).toBeDefined();
expect(e.box.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.501960784313725, 0.447058823529412, 0.72156862745098, 0.392156862745098), 1e-14);
expect(e.box.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.890196078431373, 0.505882352941176, 0.56078431372549, 0.674509803921569), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_material_stripe_evenColor')).toBeDefined();
expect(e.box.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.980392156862745, 0.345098039215686, 0.929411764705882, 0.533333333333333), 1e-14);
expect(e.box.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.988235294117647, 0.372549019607843, 0.713725490196078, 0.466666666666667), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_material_stripe_oddColor')).toBeDefined();
expect(e.box.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.545098039215686, 0.168627450980392, 0.654901960784314, 0.196078431372549), 1e-14);
expect(e.box.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.407843137254902, 0.450980392156863, 0.874509803921569, 0.603921568627451), 1e-14);
expect(e = dataSource.entities.getById('sampled_box_outlineColor_rgbaf')).toBeDefined();
expect(e.box.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.215686274509804, 0.498039215686275, 0.274509803921569, 0.129411764705882), 1e-14);
expect(e.box.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.854901960784314, 0.729411764705882, 0.172549019607843, 0.956862745098039), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_material_solidColor_color')).toBeDefined();
expect(e.corridor.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.858823529411765, 0.988235294117647, 0.733333333333333, 0.690196078431373), 1e-14);
expect(e.corridor.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.549019607843137, 0.368627450980392, 0.964705882352941, 0.133333333333333), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_material_image')).toBeDefined();
expect(e.corridor.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(14885, 62522));
expect(e.corridor.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(45129, 25776));
expect(e.corridor.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(57, 37, 208, 54));
expect(e.corridor.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(24, 80, 140, 151));
expect(e = dataSource.entities.getById('sampled_corridor_material_grid')).toBeDefined();
expect(e.corridor.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(130, 99, 15, 168));
expect(e.corridor.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(246, 60, 236, 5));
expect(e.corridor.material.cellAlpha.getValue(documentStartDate)).toEqual(22161.0);
expect(e.corridor.material.cellAlpha.getValue(documentStopDate)).toEqual(55997.0);
expect(e.corridor.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(7285, 25116));
expect(e.corridor.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(18095, 8262));
expect(e.corridor.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(31150, 55929));
expect(e.corridor.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(40043, 22428));
expect(e.corridor.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(41105, 52128));
expect(e.corridor.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(2387, 32009));
expect(e = dataSource.entities.getById('sampled_corridor_material_stripe')).toBeDefined();
expect(e.corridor.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(8, 64, 254, 66));
expect(e.corridor.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(47, 28, 112, 168));
expect(e.corridor.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(17, 233, 150, 181));
expect(e.corridor.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(171, 148, 181, 68));
expect(e.corridor.material.offset.getValue(documentStartDate)).toEqual(21351.0);
expect(e.corridor.material.offset.getValue(documentStopDate)).toEqual(20709.0);
expect(e.corridor.material.repeat.getValue(documentStartDate)).toEqual(25188.0);
expect(e.corridor.material.repeat.getValue(documentStopDate)).toEqual(19705.0);
expect(e = dataSource.entities.getById('sampled_corridor_material_image_color')).toBeDefined();
expect(e.corridor.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.949019607843137, 0.666666666666667, 0.0588235294117647, 0.784313725490196), 1e-14);
expect(e.corridor.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.388235294117647, 0.262745098039216, 0.764705882352941, 0.882352941176471), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_material_grid_color')).toBeDefined();
expect(e.corridor.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.290196078431373, 0.83921568627451, 0.588235294117647, 0.525490196078431), 1e-14);
expect(e.corridor.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.266666666666667, 0.00392156862745098, 0.180392156862745, 0.701960784313725), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_material_stripe_evenColor')).toBeDefined();
expect(e.corridor.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.517647058823529, 0.282352941176471, 0.709803921568627, 0.737254901960784), 1e-14);
expect(e.corridor.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.564705882352941, 0.407843137254902, 0.945098039215686, 0.666666666666667), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_material_stripe_oddColor')).toBeDefined();
expect(e.corridor.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.137254901960784, 0.4, 0.356862745098039, 0.501960784313725), 1e-14);
expect(e.corridor.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.992156862745098, 0.431372549019608, 0.301960784313725, 0.254901960784314), 1e-14);
expect(e = dataSource.entities.getById('sampled_corridor_outlineColor_rgbaf')).toBeDefined();
expect(e.corridor.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.882352941176471, 0.262745098039216, 0.247058823529412, 0.937254901960784), 1e-14);
expect(e.corridor.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.701960784313725, 0.262745098039216, 0.0627450980392157, 0.627450980392157), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_material_solidColor_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.117647058823529, 0.349019607843137, 0.411764705882353, 0.105882352941176), 1e-14);
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.513725490196078, 0.513725490196078, 0.666666666666667, 0.596078431372549), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_material_image')).toBeDefined();
expect(e.cylinder.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(42846, 26023));
expect(e.cylinder.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(19184, 35658));
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(59, 239, 245, 44));
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(77, 93, 176, 39));
expect(e = dataSource.entities.getById('sampled_cylinder_material_grid')).toBeDefined();
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(211, 199, 71, 148));
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(142, 126, 167, 247));
expect(e.cylinder.material.cellAlpha.getValue(documentStartDate)).toEqual(12751.0);
expect(e.cylinder.material.cellAlpha.getValue(documentStopDate)).toEqual(16373.0);
expect(e.cylinder.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(11469, 5164));
expect(e.cylinder.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(8167, 36383));
expect(e.cylinder.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(22021, 38742));
expect(e.cylinder.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(45350, 43441));
expect(e.cylinder.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(23237, 58970));
expect(e.cylinder.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(62223, 62963));
expect(e = dataSource.entities.getById('sampled_cylinder_material_stripe')).toBeDefined();
expect(e.cylinder.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(131, 133, 216, 18));
expect(e.cylinder.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(78, 238, 32, 231));
expect(e.cylinder.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(209, 149, 133, 207));
expect(e.cylinder.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(53, 207, 16, 210));
expect(e.cylinder.material.offset.getValue(documentStartDate)).toEqual(49593.0);
expect(e.cylinder.material.offset.getValue(documentStopDate)).toEqual(25216.0);
expect(e.cylinder.material.repeat.getValue(documentStartDate)).toEqual(16819.0);
expect(e.cylinder.material.repeat.getValue(documentStopDate)).toEqual(12539.0);
expect(e = dataSource.entities.getById('sampled_cylinder_material_image_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.76078431372549, 0.133333333333333, 0.231372549019608, 0.631372549019608), 1e-14);
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.882352941176471, 0.0823529411764706, 0.8, 0.0823529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_material_grid_color')).toBeDefined();
expect(e.cylinder.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.176470588235294, 0.407843137254902, 0.623529411764706, 0.729411764705882), 1e-14);
expect(e.cylinder.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.43921568627451, 0.0745098039215686, 0.603921568627451, 0.713725490196078), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_material_stripe_evenColor')).toBeDefined();
expect(e.cylinder.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.380392156862745, 0.149019607843137, 0.8, 0.658823529411765), 1e-14);
expect(e.cylinder.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.462745098039216, 0.172549019607843, 0.325490196078431, 0.854901960784314), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_material_stripe_oddColor')).toBeDefined();
expect(e.cylinder.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.207843137254902, 0.466666666666667, 0.427450980392157, 0.109803921568627), 1e-14);
expect(e.cylinder.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.313725490196078, 0.498039215686275, 0.2, 0.423529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_cylinder_outlineColor_rgbaf')).toBeDefined();
expect(e.cylinder.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.780392156862745, 0.658823529411765, 0.235294117647059, 0.0705882352941176), 1e-14);
expect(e.cylinder.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.643137254901961, 0.372549019607843, 0.16078431372549, 0.588235294117647), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_material_solidColor_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.67843137254902, 0.807843137254902, 0.541176470588235, 0.290196078431373), 1e-14);
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.749019607843137, 0.258823529411765, 0.733333333333333, 0.247058823529412), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_material_image')).toBeDefined();
expect(e.ellipse.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(41027, 32928));
expect(e.ellipse.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(30513, 54647));
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(243, 25, 233, 224));
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(230, 62, 9, 20));
expect(e = dataSource.entities.getById('sampled_ellipse_material_grid')).toBeDefined();
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(103, 140, 88, 233));
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(224, 133, 210, 4));
expect(e.ellipse.material.cellAlpha.getValue(documentStartDate)).toEqual(39159.0);
expect(e.ellipse.material.cellAlpha.getValue(documentStopDate)).toEqual(47494.0);
expect(e.ellipse.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(40987, 3488));
expect(e.ellipse.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(5066, 58131));
expect(e.ellipse.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(11466, 25388));
expect(e.ellipse.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(17761, 21317));
expect(e.ellipse.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(478, 18945));
expect(e.ellipse.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(25914, 29541));
expect(e = dataSource.entities.getById('sampled_ellipse_material_stripe')).toBeDefined();
expect(e.ellipse.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(218, 225, 186, 34));
expect(e.ellipse.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(109, 193, 18, 44));
expect(e.ellipse.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(119, 198, 180, 58));
expect(e.ellipse.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(79, 137, 65, 31));
expect(e.ellipse.material.offset.getValue(documentStartDate)).toEqual(16964.0);
expect(e.ellipse.material.offset.getValue(documentStopDate)).toEqual(16523.0);
expect(e.ellipse.material.repeat.getValue(documentStartDate)).toEqual(50015.0);
expect(e.ellipse.material.repeat.getValue(documentStopDate)).toEqual(64942.0);
expect(e = dataSource.entities.getById('sampled_ellipse_material_image_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.207843137254902, 0.0392156862745098, 0.12156862745098, 0.611764705882353), 1e-14);
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.611764705882353, 0.0117647058823529, 0.694117647058824, 0.576470588235294), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_material_grid_color')).toBeDefined();
expect(e.ellipse.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.580392156862745, 0.0313725490196078, 0.27843137254902, 0.203921568627451), 1e-14);
expect(e.ellipse.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0509803921568627, 0.870588235294118, 0.117647058823529, 0.588235294117647), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_material_stripe_evenColor')).toBeDefined();
expect(e.ellipse.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0549019607843137, 0.117647058823529, 0.623529411764706, 0.929411764705882), 1e-14);
expect(e.ellipse.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.266666666666667, 0.113725490196078, 0.937254901960784, 0.168627450980392), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_material_stripe_oddColor')).toBeDefined();
expect(e.ellipse.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.262745098039216, 0.172549019607843, 0.282352941176471, 0.129411764705882), 1e-14);
expect(e.ellipse.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.968627450980392, 0.635294117647059, 0.525490196078431, 0.831372549019608), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipse_outlineColor_rgbaf')).toBeDefined();
expect(e.ellipse.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.76078431372549, 0.36078431372549, 0.223529411764706, 0.611764705882353), 1e-14);
expect(e.ellipse.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.16078431372549, 0.83921568627451, 0.752941176470588, 0.647058823529412), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_solidColor_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.592156862745098, 0.976470588235294, 0.207843137254902, 0.501960784313725), 1e-14);
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0901960784313725, 0.662745098039216, 0.819607843137255, 0.235294117647059), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_image')).toBeDefined();
expect(e.ellipsoid.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(63583, 15096));
expect(e.ellipsoid.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(48977, 60351));
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(49, 50, 177, 104));
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(131, 27, 208, 157));
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_grid')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(121, 105, 70, 72));
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(204, 122, 157, 57));
expect(e.ellipsoid.material.cellAlpha.getValue(documentStartDate)).toEqual(39442.0);
expect(e.ellipsoid.material.cellAlpha.getValue(documentStopDate)).toEqual(463.0);
expect(e.ellipsoid.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(33778, 30083));
expect(e.ellipsoid.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(5202, 18708));
expect(e.ellipsoid.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(44058, 37804));
expect(e.ellipsoid.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(34449, 3718));
expect(e.ellipsoid.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(33149, 21889));
expect(e.ellipsoid.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(35482, 10122));
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_stripe')).toBeDefined();
expect(e.ellipsoid.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(153, 245, 201, 196));
expect(e.ellipsoid.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(245, 113, 5, 131));
expect(e.ellipsoid.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(99, 151, 174, 111));
expect(e.ellipsoid.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(188, 89, 18, 1));
expect(e.ellipsoid.material.offset.getValue(documentStartDate)).toEqual(44961.0);
expect(e.ellipsoid.material.offset.getValue(documentStopDate)).toEqual(5690.0);
expect(e.ellipsoid.material.repeat.getValue(documentStartDate)).toEqual(3351.0);
expect(e.ellipsoid.material.repeat.getValue(documentStopDate)).toEqual(44332.0);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_image_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.654901960784314, 0.517647058823529, 0.858823529411765, 0.486274509803922), 1e-14);
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.862745098039216, 0.713725490196078, 0.564705882352941, 0.0901960784313725), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_grid_color')).toBeDefined();
expect(e.ellipsoid.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.6, 0.427450980392157, 0.203921568627451, 0.223529411764706), 1e-14);
expect(e.ellipsoid.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.525490196078431, 0.305882352941176, 0.16078431372549, 0.819607843137255), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_stripe_evenColor')).toBeDefined();
expect(e.ellipsoid.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.301960784313725, 0.572549019607843, 0.87843137254902, 0.219607843137255), 1e-14);
expect(e.ellipsoid.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.337254901960784, 0.835294117647059, 0.964705882352941, 0.909803921568627), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_material_stripe_oddColor')).toBeDefined();
expect(e.ellipsoid.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.647058823529412, 0.635294117647059, 0.258823529411765, 0.250980392156863), 1e-14);
expect(e.ellipsoid.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.917647058823529, 0.262745098039216, 0.666666666666667, 0.980392156862745), 1e-14);
expect(e = dataSource.entities.getById('sampled_ellipsoid_outlineColor_rgbaf')).toBeDefined();
expect(e.ellipsoid.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.552941176470588, 0.549019607843137, 0.431372549019608, 0.568627450980392), 1e-14);
expect(e.ellipsoid.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.435294117647059, 0.698039215686274, 0.396078431372549, 0.772549019607843), 1e-14);
expect(e = dataSource.entities.getById('sampled_label_backgroundColor_rgbaf')).toBeDefined();
expect(e.label.backgroundColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.96078431372549, 0.188235294117647, 0.870588235294118, 0.270588235294118), 1e-14);
expect(e.label.backgroundColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.882352941176471, 0.796078431372549, 0.603921568627451, 0.823529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_label_fillColor_rgbaf')).toBeDefined();
expect(e.label.fillColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.709803921568627, 0.556862745098039, 0.337254901960784, 0.247058823529412), 1e-14);
expect(e.label.fillColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.43921568627451, 0.694117647058824, 0.901960784313726, 0.0823529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_label_outlineColor_rgbaf')).toBeDefined();
expect(e.label.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.631372549019608, 0.709803921568627, 0.270588235294118, 0.792156862745098), 1e-14);
expect(e.label.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.435294117647059, 0.176470588235294, 0.235294117647059, 0.631372549019608), 1e-14);
expect(e = dataSource.entities.getById('sampled_model_silhouetteColor_rgbaf')).toBeDefined();
expect(e.model.silhouetteColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.231372549019608, 0.866666666666667, 0.266666666666667, 0.635294117647059), 1e-14);
expect(e.model.silhouetteColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.749019607843137, 0.227450980392157, 0.807843137254902, 0.0823529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_model_color_rgbaf')).toBeDefined();
expect(e.model.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0509803921568627, 0.83921568627451, 0.470588235294118, 0.956862745098039), 1e-14);
expect(e.model.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.435294117647059, 0.945098039215686, 0.431372549019608, 0.619607843137255), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_solidColor_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.517647058823529, 0.56078431372549, 0.254901960784314, 0.494117647058824), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.905882352941176, 0.152941176470588, 0.854901960784314, 0.890196078431373), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineOutline')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(209, 154, 35, 76));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(186, 25, 242, 140));
expect(e.path.material.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(218, 241, 216, 157));
expect(e.path.material.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(70, 200, 183, 199));
expect(e.path.material.outlineWidth.getValue(documentStartDate)).toEqual(2699.0);
expect(e.path.material.outlineWidth.getValue(documentStopDate)).toEqual(1320.0);
expect(e = dataSource.entities.getById('sampled_path_material_polylineArrow')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(150, 221, 161, 136));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(19, 231, 68, 117));
expect(e = dataSource.entities.getById('sampled_path_material_polylineDash')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(140, 167, 151, 119));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(65, 100, 228, 104));
expect(e.path.material.gapColor.getValue(documentStartDate)).toEqual(Color.fromBytes(154, 198, 168, 151));
expect(e.path.material.gapColor.getValue(documentStopDate)).toEqual(Color.fromBytes(16, 23, 0, 42));
expect(e.path.material.dashLength.getValue(documentStartDate)).toEqual(38294.0);
expect(e.path.material.dashLength.getValue(documentStopDate)).toEqual(33057.0);
expect(e.path.material.dashPattern.getValue(documentStartDate)).toEqual(58660);
expect(e.path.material.dashPattern.getValue(documentStopDate)).toEqual(3340);
expect(e = dataSource.entities.getById('sampled_path_material_polylineGlow')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(197, 117, 196, 254));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(18, 17, 195, 230));
expect(e.path.material.glowPower.getValue(documentStartDate)).toEqual(5579.0);
expect(e.path.material.glowPower.getValue(documentStopDate)).toEqual(59951.0);
expect(e = dataSource.entities.getById('sampled_path_material_image')).toBeDefined();
expect(e.path.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(25033, 47457));
expect(e.path.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(30413, 15734));
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(225, 149, 237, 92));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(234, 146, 229, 9));
expect(e = dataSource.entities.getById('sampled_path_material_grid')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(99, 177, 19, 203));
expect(e.path.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(231, 169, 202, 127));
expect(e.path.material.cellAlpha.getValue(documentStartDate)).toEqual(63572.0);
expect(e.path.material.cellAlpha.getValue(documentStopDate)).toEqual(26232.0);
expect(e.path.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(34101, 5509));
expect(e.path.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(11991, 23086));
expect(e.path.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(39225, 58265));
expect(e.path.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(60443, 36332));
expect(e.path.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(25536, 59747));
expect(e.path.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(43164, 57256));
expect(e = dataSource.entities.getById('sampled_path_material_stripe')).toBeDefined();
expect(e.path.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(252, 51, 215, 123));
expect(e.path.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(164, 66, 75, 80));
expect(e.path.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(192, 190, 37, 99));
expect(e.path.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(196, 81, 62, 248));
expect(e.path.material.offset.getValue(documentStartDate)).toEqual(45320.0);
expect(e.path.material.offset.getValue(documentStopDate)).toEqual(41173.0);
expect(e.path.material.repeat.getValue(documentStartDate)).toEqual(42078.0);
expect(e.path.material.repeat.getValue(documentStopDate)).toEqual(11633.0);
expect(e = dataSource.entities.getById('sampled_path_material_polylineOutline_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.490196078431373, 0.498039215686275, 0.819607843137255, 0.72156862745098), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.309803921568627, 0.329411764705882, 0.807843137254902, 0.368627450980392), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineOutline_outlineColor')).toBeDefined();
expect(e.path.material.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.427450980392157, 0.96078431372549, 0.996078431372549, 0.662745098039216), 1e-14);
expect(e.path.material.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.917647058823529, 0.635294117647059, 0.674509803921569, 0.298039215686275), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineArrow_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0666666666666667, 0.972549019607843, 0.686274509803922, 0.325490196078431), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.2, 0.482352941176471, 0.498039215686275, 0.219607843137255), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineDash_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.803921568627451, 0.67843137254902, 0.176470588235294, 0.709803921568627), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.674509803921569, 0.0980392156862745, 0.447058823529412, 0.803921568627451), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineDash_gapColor')).toBeDefined();
expect(e.path.material.gapColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.231372549019608, 0.745098039215686, 0.772549019607843, 0.901960784313726), 1e-14);
expect(e.path.material.gapColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.713725490196078, 0.180392156862745, 0.317647058823529, 0.309803921568627), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_polylineGlow_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.63921568627451, 0.2, 0.0196078431372549, 0.984313725490196), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.376470588235294, 0.815686274509804, 0.933333333333333, 0.0235294117647059), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_image_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.898039215686275, 0.772549019607843, 0.294117647058824, 0.0431372549019608), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.815686274509804, 0.0901960784313725, 0.898039215686275, 0.309803921568627), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_grid_color')).toBeDefined();
expect(e.path.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.890196078431373, 0, 0.717647058823529, 0.329411764705882), 1e-14);
expect(e.path.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.474509803921569, 0.690196078431373, 0.0431372549019608, 0.258823529411765), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_stripe_evenColor')).toBeDefined();
expect(e.path.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.368627450980392, 0.584313725490196, 0.831372549019608, 0.541176470588235), 1e-14);
expect(e.path.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.317647058823529, 0.4, 0.83921568627451, 0.537254901960784), 1e-14);
expect(e = dataSource.entities.getById('sampled_path_material_stripe_oddColor')).toBeDefined();
expect(e.path.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.145098039215686, 0.588235294117647, 0.917647058823529, 0.607843137254902), 1e-14);
expect(e.path.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.117647058823529, 0.0705882352941176, 0.901960784313726, 0.525490196078431), 1e-14);
expect(e = dataSource.entities.getById('sampled_point_color_rgbaf')).toBeDefined();
expect(e.point.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.67843137254902, 0.356862745098039, 0.588235294117647, 0.796078431372549), 1e-14);
expect(e.point.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.968627450980392, 0.298039215686275, 0.513725490196078, 0.631372549019608), 1e-14);
expect(e = dataSource.entities.getById('sampled_point_outlineColor_rgbaf')).toBeDefined();
expect(e.point.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.427450980392157, 0.894117647058824, 0.168627450980392, 0.768627450980392), 1e-14);
expect(e.point.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.458823529411765, 0.466666666666667, 0.388235294117647, 0.792156862745098), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_material_solidColor_color')).toBeDefined();
expect(e.polygon.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.305882352941176, 0.615686274509804, 0.337254901960784, 0.894117647058824), 1e-14);
expect(e.polygon.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.184313725490196, 0.619607843137255, 0.352941176470588, 0.0313725490196078), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_material_image')).toBeDefined();
expect(e.polygon.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(19536, 17484));
expect(e.polygon.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(46291, 28852));
expect(e.polygon.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(157, 5, 231, 29));
expect(e.polygon.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(53, 2, 148, 36));
expect(e = dataSource.entities.getById('sampled_polygon_material_grid')).toBeDefined();
expect(e.polygon.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(179, 243, 247, 124));
expect(e.polygon.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(15, 128, 159, 42));
expect(e.polygon.material.cellAlpha.getValue(documentStartDate)).toEqual(11565.0);
expect(e.polygon.material.cellAlpha.getValue(documentStopDate)).toEqual(42611.0);
expect(e.polygon.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(47065, 65463));
expect(e.polygon.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(29170, 16497));
expect(e.polygon.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(62674, 26868));
expect(e.polygon.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(22008, 39509));
expect(e.polygon.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(28793, 1648));
expect(e.polygon.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(44991, 42159));
expect(e = dataSource.entities.getById('sampled_polygon_material_stripe')).toBeDefined();
expect(e.polygon.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(113, 233, 143, 146));
expect(e.polygon.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(106, 138, 115, 44));
expect(e.polygon.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(104, 146, 138, 244));
expect(e.polygon.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(161, 95, 25, 36));
expect(e.polygon.material.offset.getValue(documentStartDate)).toEqual(4711.0);
expect(e.polygon.material.offset.getValue(documentStopDate)).toEqual(65087.0);
expect(e.polygon.material.repeat.getValue(documentStartDate)).toEqual(44013.0);
expect(e.polygon.material.repeat.getValue(documentStopDate)).toEqual(7595.0);
expect(e = dataSource.entities.getById('sampled_polygon_material_image_color')).toBeDefined();
expect(e.polygon.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.501960784313725, 0.0823529411764706, 0.282352941176471, 0.305882352941176), 1e-14);
expect(e.polygon.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0745098039215686, 0.654901960784314, 0.6, 0.886274509803922), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_material_grid_color')).toBeDefined();
expect(e.polygon.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.192156862745098, 0.709803921568627, 0.807843137254902, 0.737254901960784), 1e-14);
expect(e.polygon.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.674509803921569, 0.0235294117647059, 0.764705882352941, 0.976470588235294), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_material_stripe_evenColor')).toBeDefined();
expect(e.polygon.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.568627450980392, 0.352941176470588, 0.396078431372549, 0.435294117647059), 1e-14);
expect(e.polygon.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.274509803921569, 0.43921568627451, 0.686274509803922, 0.419607843137255), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_material_stripe_oddColor')).toBeDefined();
expect(e.polygon.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.325490196078431, 0.349019607843137, 0.580392156862745, 0.725490196078431), 1e-14);
expect(e.polygon.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.568627450980392, 0.690196078431373, 0.00392156862745098, 0.858823529411765), 1e-14);
expect(e = dataSource.entities.getById('sampled_polygon_outlineColor_rgbaf')).toBeDefined();
expect(e.polygon.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.674509803921569, 0.556862745098039, 0.113725490196078, 0.6), 1e-14);
expect(e.polygon.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.650980392156863, 0.827450980392157, 0.537254901960784, 0.713725490196078), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_solidColor_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.976470588235294, 0.949019607843137, 0.450980392156863, 0.466666666666667), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.262745098039216, 0.509803921568627, 0.537254901960784, 0.850980392156863), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineOutline')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(245, 92, 109, 218));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(241, 96, 196, 167));
expect(e.polyline.material.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(174, 2, 11, 244));
expect(e.polyline.material.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(31, 126, 140, 138));
expect(e.polyline.material.outlineWidth.getValue(documentStartDate)).toEqual(33279.0);
expect(e.polyline.material.outlineWidth.getValue(documentStopDate)).toEqual(26855.0);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineArrow')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(141, 137, 252, 157));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(8, 236, 198, 57));
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineDash')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(77, 159, 238, 158));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(206, 194, 234, 158));
expect(e.polyline.material.gapColor.getValue(documentStartDate)).toEqual(Color.fromBytes(232, 145, 15, 164));
expect(e.polyline.material.gapColor.getValue(documentStopDate)).toEqual(Color.fromBytes(173, 151, 118, 138));
expect(e.polyline.material.dashLength.getValue(documentStartDate)).toEqual(41757.0);
expect(e.polyline.material.dashLength.getValue(documentStopDate)).toEqual(10126.0);
expect(e.polyline.material.dashPattern.getValue(documentStartDate)).toEqual(33948);
expect(e.polyline.material.dashPattern.getValue(documentStopDate)).toEqual(16892);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineGlow')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(174, 178, 78, 176));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(79, 191, 38, 195));
expect(e.polyline.material.glowPower.getValue(documentStartDate)).toEqual(55378.0);
expect(e.polyline.material.glowPower.getValue(documentStopDate)).toEqual(60643.0);
expect(e = dataSource.entities.getById('sampled_polyline_material_image')).toBeDefined();
expect(e.polyline.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(50957, 35783));
expect(e.polyline.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(59533, 65000));
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(174, 154, 113, 185));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(123, 236, 118, 155));
expect(e = dataSource.entities.getById('sampled_polyline_material_grid')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(26, 89, 33, 224));
expect(e.polyline.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(215, 131, 203, 1));
expect(e.polyline.material.cellAlpha.getValue(documentStartDate)).toEqual(34343.0);
expect(e.polyline.material.cellAlpha.getValue(documentStopDate)).toEqual(63863.0);
expect(e.polyline.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(52308, 51660));
expect(e.polyline.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(45338, 51633));
expect(e.polyline.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(47738, 52154));
expect(e.polyline.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(42674, 38822));
expect(e.polyline.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(29194, 52338));
expect(e.polyline.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(25319, 28514));
expect(e = dataSource.entities.getById('sampled_polyline_material_stripe')).toBeDefined();
expect(e.polyline.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(141, 205, 78, 73));
expect(e.polyline.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(107, 159, 97, 34));
expect(e.polyline.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(19, 76, 127, 197));
expect(e.polyline.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(214, 222, 19, 168));
expect(e.polyline.material.offset.getValue(documentStartDate)).toEqual(51126.0);
expect(e.polyline.material.offset.getValue(documentStopDate)).toEqual(10891.0);
expect(e.polyline.material.repeat.getValue(documentStartDate)).toEqual(25313.0);
expect(e.polyline.material.repeat.getValue(documentStopDate)).toEqual(22020.0);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineOutline_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.384313725490196, 0.168627450980392, 0.443137254901961, 0.658823529411765), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0274509803921569, 0.647058823529412, 0.396078431372549, 0.105882352941176), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineOutline_outlineColor')).toBeDefined();
expect(e.polyline.material.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0823529411764706, 0.0549019607843137, 0.149019607843137, 0.580392156862745), 1e-14);
expect(e.polyline.material.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.733333333333333, 0.792156862745098, 0.63921568627451, 0.564705882352941), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineArrow_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.52156862745098, 0.725490196078431, 0.87843137254902, 0.823529411764706), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.772549019607843, 0.862745098039216, 0.325490196078431, 0), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineDash_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.525490196078431, 0.992156862745098, 0.964705882352941, 0.364705882352941), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.27843137254902, 0.133333333333333, 0.447058823529412, 0.192156862745098), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineDash_gapColor')).toBeDefined();
expect(e.polyline.material.gapColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.498039215686275, 0.776470588235294, 0.803921568627451, 0.690196078431373), 1e-14);
expect(e.polyline.material.gapColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.376470588235294, 0.898039215686275, 0.168627450980392, 0.898039215686275), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_polylineGlow_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.705882352941177, 0.901960784313726, 0.0784313725490196, 0.356862745098039), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.517647058823529, 0.207843137254902, 0.701960784313725, 0.105882352941176), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_image_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.796078431372549, 0.741176470588235, 0.741176470588235, 0.349019607843137), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.925490196078431, 0.266666666666667, 0.0941176470588235, 0.556862745098039), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_grid_color')).toBeDefined();
expect(e.polyline.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.545098039215686, 0.847058823529412, 0.341176470588235, 0.101960784313725), 1e-14);
expect(e.polyline.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.431372549019608, 0.952941176470588, 0.184313725490196, 0.184313725490196), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_stripe_evenColor')).toBeDefined();
expect(e.polyline.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.807843137254902, 0.262745098039216, 0.898039215686275, 0.811764705882353), 1e-14);
expect(e.polyline.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.415686274509804, 0.968627450980392, 0.0980392156862745, 0.423529411764706), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_material_stripe_oddColor')).toBeDefined();
expect(e.polyline.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.427450980392157, 0.407843137254902, 0.470588235294118, 0.874509803921569), 1e-14);
expect(e.polyline.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.509803921568627, 0.427450980392157, 0.976470588235294, 0), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_solidColor_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.568627450980392, 0.243137254901961, 0.43921568627451, 0.541176470588235), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.729411764705882, 0.505882352941176, 0.282352941176471, 0.0274509803921569), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineOutline')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(247, 124, 164, 106));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(91, 114, 116, 82));
expect(e.polyline.depthFailMaterial.outlineColor.getValue(documentStartDate)).toEqual(Color.fromBytes(35, 216, 157, 243));
expect(e.polyline.depthFailMaterial.outlineColor.getValue(documentStopDate)).toEqual(Color.fromBytes(111, 11, 143, 175));
expect(e.polyline.depthFailMaterial.outlineWidth.getValue(documentStartDate)).toEqual(45494.0);
expect(e.polyline.depthFailMaterial.outlineWidth.getValue(documentStopDate)).toEqual(8666.0);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineArrow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(143, 46, 33, 146));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(1, 147, 34, 93));
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineDash')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(64, 52, 179, 199));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(251, 205, 86, 110));
expect(e.polyline.depthFailMaterial.gapColor.getValue(documentStartDate)).toEqual(Color.fromBytes(98, 214, 1, 23));
expect(e.polyline.depthFailMaterial.gapColor.getValue(documentStopDate)).toEqual(Color.fromBytes(108, 132, 28, 207));
expect(e.polyline.depthFailMaterial.dashLength.getValue(documentStartDate)).toEqual(59636.0);
expect(e.polyline.depthFailMaterial.dashLength.getValue(documentStopDate)).toEqual(9250.0);
expect(e.polyline.depthFailMaterial.dashPattern.getValue(documentStartDate)).toEqual(33949);
expect(e.polyline.depthFailMaterial.dashPattern.getValue(documentStopDate)).toEqual(58673);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineGlow')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(253, 71, 171, 138));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(112, 154, 76, 178));
expect(e.polyline.depthFailMaterial.glowPower.getValue(documentStartDate)).toEqual(8542.0);
expect(e.polyline.depthFailMaterial.glowPower.getValue(documentStopDate)).toEqual(54440.0);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_image')).toBeDefined();
expect(e.polyline.depthFailMaterial.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(59796, 25065));
expect(e.polyline.depthFailMaterial.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(38054, 9108));
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(32, 24, 155, 151));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(9, 142, 253, 92));
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_grid')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqual(Color.fromBytes(206, 138, 53, 173));
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqual(Color.fromBytes(20, 11, 131, 253));
expect(e.polyline.depthFailMaterial.cellAlpha.getValue(documentStartDate)).toEqual(36676.0);
expect(e.polyline.depthFailMaterial.cellAlpha.getValue(documentStopDate)).toEqual(5143.0);
expect(e.polyline.depthFailMaterial.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(55344, 11736));
expect(e.polyline.depthFailMaterial.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(20410, 11343));
expect(e.polyline.depthFailMaterial.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(22967, 31065));
expect(e.polyline.depthFailMaterial.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(59168, 51431));
expect(e.polyline.depthFailMaterial.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(59000, 31974));
expect(e.polyline.depthFailMaterial.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(65334, 48383));
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_stripe')).toBeDefined();
expect(e.polyline.depthFailMaterial.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(166, 16, 249, 230));
expect(e.polyline.depthFailMaterial.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(250, 177, 111, 216));
expect(e.polyline.depthFailMaterial.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(210, 161, 181, 206));
expect(e.polyline.depthFailMaterial.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(194, 73, 70, 224));
expect(e.polyline.depthFailMaterial.offset.getValue(documentStartDate)).toEqual(43239.0);
expect(e.polyline.depthFailMaterial.offset.getValue(documentStopDate)).toEqual(47157.0);
expect(e.polyline.depthFailMaterial.repeat.getValue(documentStartDate)).toEqual(58315.0);
expect(e.polyline.depthFailMaterial.repeat.getValue(documentStopDate)).toEqual(45308.0);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineOutline_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.611764705882353, 0.407843137254902, 0.807843137254902, 0.380392156862745), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.52156862745098, 0.654901960784314, 0.756862745098039, 0.368627450980392), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineOutline_outlineColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.670588235294118, 0.211764705882353, 0.607843137254902, 0.388235294117647), 1e-14);
expect(e.polyline.depthFailMaterial.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.611764705882353, 0.611764705882353, 0.298039215686275, 0.749019607843137), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineArrow_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.874509803921569, 0.541176470588235, 0.231372549019608, 0.596078431372549), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.729411764705882, 0.533333333333333, 0.411764705882353, 0.454901960784314), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineDash_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.776470588235294, 0.0823529411764706, 0.96078431372549, 0.776470588235294), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0941176470588235, 0.643137254901961, 0.717647058823529, 0.890196078431373), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineDash_gapColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.gapColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.219607843137255, 0.403921568627451, 0.815686274509804, 0.803921568627451), 1e-14);
expect(e.polyline.depthFailMaterial.gapColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.294117647058824, 0.615686274509804, 0.172549019607843, 0.0235294117647059), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_polylineGlow_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.168627450980392, 0.847058823529412, 0.968627450980392, 0.431372549019608), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.2, 0.603921568627451, 0.941176470588235, 0.0901960784313725), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_image_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.980392156862745, 0.450980392156863, 0.329411764705882, 0.670588235294118), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.556862745098039, 0.63921568627451, 0.156862745098039, 0.705882352941177), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_grid_color')).toBeDefined();
expect(e.polyline.depthFailMaterial.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.623529411764706, 0.607843137254902, 0.913725490196078, 0.596078431372549), 1e-14);
expect(e.polyline.depthFailMaterial.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.423529411764706, 0.968627450980392, 0.815686274509804, 0.968627450980392), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_stripe_evenColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.854901960784314, 0.843137254901961, 0.701960784313725, 0.113725490196078), 1e-14);
expect(e.polyline.depthFailMaterial.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.941176470588235, 0.890196078431373, 0.933333333333333, 0.588235294117647), 1e-14);
expect(e = dataSource.entities.getById('sampled_polyline_depthFailMaterial_stripe_oddColor')).toBeDefined();
expect(e.polyline.depthFailMaterial.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.427450980392157, 0.870588235294118, 0.96078431372549, 0.219607843137255), 1e-14);
expect(e.polyline.depthFailMaterial.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.219607843137255, 0.847058823529412, 0.752941176470588, 0.172549019607843), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_coordinates_wsenDegrees')).toBeDefined();
expect(e.rectangle.coordinates.getValue(documentStartDate)).toEqual(Rectangle.fromDegrees(35, 18, 38, 15));
expect(e.rectangle.coordinates.getValue(documentStopDate)).toEqual(Rectangle.fromDegrees(38, 1, 12, 30));
expect(e = dataSource.entities.getById('sampled_rectangle_material_solidColor_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.203921568627451, 0.243137254901961, 0.576470588235294, 0.0980392156862745), 1e-14);
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.913725490196078, 0.831372549019608, 0.76078431372549, 0.952941176470588), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_material_image')).toBeDefined();
expect(e.rectangle.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(3711, 44302));
expect(e.rectangle.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(52318, 60108));
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(49, 142, 97, 190));
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(189, 250, 238, 118));
expect(e = dataSource.entities.getById('sampled_rectangle_material_grid')).toBeDefined();
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(95, 53, 115, 82));
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(204, 71, 209, 187));
expect(e.rectangle.material.cellAlpha.getValue(documentStartDate)).toEqual(48813.0);
expect(e.rectangle.material.cellAlpha.getValue(documentStopDate)).toEqual(21269.0);
expect(e.rectangle.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(22945, 32857));
expect(e.rectangle.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(55972, 34522));
expect(e.rectangle.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(37146, 39825));
expect(e.rectangle.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(64636, 13052));
expect(e.rectangle.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(8882, 38690));
expect(e.rectangle.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(8857, 21794));
expect(e = dataSource.entities.getById('sampled_rectangle_material_stripe')).toBeDefined();
expect(e.rectangle.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(243, 96, 246, 5));
expect(e.rectangle.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(74, 28, 207, 87));
expect(e.rectangle.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(147, 18, 134, 10));
expect(e.rectangle.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(59, 151, 72, 114));
expect(e.rectangle.material.offset.getValue(documentStartDate)).toEqual(57328.0);
expect(e.rectangle.material.offset.getValue(documentStopDate)).toEqual(2602.0);
expect(e.rectangle.material.repeat.getValue(documentStartDate)).toEqual(29729.0);
expect(e.rectangle.material.repeat.getValue(documentStopDate)).toEqual(30206.0);
expect(e = dataSource.entities.getById('sampled_rectangle_material_image_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.552941176470588, 0.101960784313725, 0.772549019607843, 0.00392156862745098), 1e-14);
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.0156862745098039, 0.964705882352941, 0.592156862745098, 0.396078431372549), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_material_grid_color')).toBeDefined();
expect(e.rectangle.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.490196078431373, 0.384313725490196, 0.937254901960784, 0.168627450980392), 1e-14);
expect(e.rectangle.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.392156862745098, 0.756862745098039, 0.454901960784314, 0.529411764705882), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_material_stripe_evenColor')).toBeDefined();
expect(e.rectangle.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.32156862745098, 0.776470588235294, 0.227450980392157, 0.0823529411764706), 1e-14);
expect(e.rectangle.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.929411764705882, 0.725490196078431, 0.00392156862745098, 0.364705882352941), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_material_stripe_oddColor')).toBeDefined();
expect(e.rectangle.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.984313725490196, 0.831372549019608, 0.827450980392157, 0.925490196078431), 1e-14);
expect(e.rectangle.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.145098039215686, 0.0156862745098039, 0.380392156862745, 0.490196078431373), 1e-14);
expect(e = dataSource.entities.getById('sampled_rectangle_outlineColor_rgbaf')).toBeDefined();
expect(e.rectangle.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.980392156862745, 0.466666666666667, 0.752941176470588, 0.709803921568627), 1e-14);
expect(e.rectangle.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.549019607843137, 0.949019607843137, 0.545098039215686, 0.380392156862745), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_material_solidColor_color')).toBeDefined();
expect(e.wall.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.384313725490196, 0.964705882352941, 0.827450980392157, 0.815686274509804), 1e-14);
expect(e.wall.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.00784313725490196, 0.325490196078431, 0.952941176470588, 0.0549019607843137), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_material_image')).toBeDefined();
expect(e.wall.material.repeat.getValue(documentStartDate)).toEqual(new Cartesian2(13369, 38196));
expect(e.wall.material.repeat.getValue(documentStopDate)).toEqual(new Cartesian2(36874, 55696));
expect(e.wall.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(1, 152, 139, 83));
expect(e.wall.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(127, 110, 56, 69));
expect(e = dataSource.entities.getById('sampled_wall_material_grid')).toBeDefined();
expect(e.wall.material.color.getValue(documentStartDate)).toEqual(Color.fromBytes(243, 153, 88, 43));
expect(e.wall.material.color.getValue(documentStopDate)).toEqual(Color.fromBytes(169, 159, 82, 75));
expect(e.wall.material.cellAlpha.getValue(documentStartDate)).toEqual(32179.0);
expect(e.wall.material.cellAlpha.getValue(documentStopDate)).toEqual(55901.0);
expect(e.wall.material.lineCount.getValue(documentStartDate)).toEqual(new Cartesian2(46941, 30391));
expect(e.wall.material.lineCount.getValue(documentStopDate)).toEqual(new Cartesian2(51565, 6089));
expect(e.wall.material.lineThickness.getValue(documentStartDate)).toEqual(new Cartesian2(35543, 16778));
expect(e.wall.material.lineThickness.getValue(documentStopDate)).toEqual(new Cartesian2(32904, 18048));
expect(e.wall.material.lineOffset.getValue(documentStartDate)).toEqual(new Cartesian2(2955, 19723));
expect(e.wall.material.lineOffset.getValue(documentStopDate)).toEqual(new Cartesian2(58723, 15333));
expect(e = dataSource.entities.getById('sampled_wall_material_stripe')).toBeDefined();
expect(e.wall.material.evenColor.getValue(documentStartDate)).toEqual(Color.fromBytes(204, 233, 122, 70));
expect(e.wall.material.evenColor.getValue(documentStopDate)).toEqual(Color.fromBytes(215, 44, 132, 84));
expect(e.wall.material.oddColor.getValue(documentStartDate)).toEqual(Color.fromBytes(20, 6, 10, 253));
expect(e.wall.material.oddColor.getValue(documentStopDate)).toEqual(Color.fromBytes(96, 118, 90, 117));
expect(e.wall.material.offset.getValue(documentStartDate)).toEqual(63629.0);
expect(e.wall.material.offset.getValue(documentStopDate)).toEqual(38486.0);
expect(e.wall.material.repeat.getValue(documentStartDate)).toEqual(41791.0);
expect(e.wall.material.repeat.getValue(documentStopDate)).toEqual(56258.0);
expect(e = dataSource.entities.getById('sampled_wall_material_image_color')).toBeDefined();
expect(e.wall.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.584313725490196, 0.752941176470588, 0.588235294117647, 0.733333333333333), 1e-14);
expect(e.wall.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.309803921568627, 0.988235294117647, 0.0784313725490196, 0.458823529411765), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_material_grid_color')).toBeDefined();
expect(e.wall.material.color.getValue(documentStartDate)).toEqualEpsilon(new Color(0.27843137254902, 0.549019607843137, 0.964705882352941, 0.96078431372549), 1e-14);
expect(e.wall.material.color.getValue(documentStopDate)).toEqualEpsilon(new Color(0.709803921568627, 0.831372549019608, 0.67843137254902, 0.407843137254902), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_material_stripe_evenColor')).toBeDefined();
expect(e.wall.material.evenColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.0901960784313725, 0.243137254901961, 0.537254901960784, 0.168627450980392), 1e-14);
expect(e.wall.material.evenColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.388235294117647, 0.847058823529412, 0.258823529411765, 0.113725490196078), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_material_stripe_oddColor')).toBeDefined();
expect(e.wall.material.oddColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.345098039215686, 0.0196078431372549, 0.0549019607843137, 0.662745098039216), 1e-14);
expect(e.wall.material.oddColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.694117647058824, 0.890196078431373, 0.380392156862745, 0.317647058823529), 1e-14);
expect(e = dataSource.entities.getById('sampled_wall_outlineColor_rgbaf')).toBeDefined();
expect(e.wall.outlineColor.getValue(documentStartDate)).toEqualEpsilon(new Color(0.933333333333333, 0.105882352941176, 0.0627450980392157, 0.396078431372549), 1e-14);
expect(e.wall.outlineColor.getValue(documentStopDate)).toEqualEpsilon(new Color(0.901960784313726, 0.435294117647059, 0.352941176470588, 0.713725490196078), 1e-14);
expect(e = dataSource.entities.getById('sampled_conicSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_conicSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_customPatternSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_intersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_lateralSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_ellipsoidHorizonSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_domeSurfaceMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentOcclusionMaterial_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_rectangularSensor_environmentIntersectionColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_solidColor_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_image')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_grid')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_stripe')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_image_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_grid_color')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_stripe_evenColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_material_stripe_oddColor')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_fan_outlineColor_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_vector_color_rgbaf')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_vector_direction_unitSpherical')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_vector_direction_cartesian')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_vector_direction_unitCartesian')).toBeDefined();
expect(e = dataSource.entities.getById('sampled_custom')).toBeDefined();
expect(e.properties.custom_boundingRectangle.getValue(documentStartDate)).toEqual(new BoundingRectangle(10924, 3626, 12558, 56113));
expect(e.properties.custom_boundingRectangle.getValue(documentStopDate)).toEqual(new BoundingRectangle(59127, 45286, 34992, 17032));
expect(e.properties.custom_cartesian.getValue(documentStartDate)).toEqual(new Cartesian3(59456, 60648, 1004));
expect(e.properties.custom_cartesian.getValue(documentStopDate)).toEqual(new Cartesian3(37915, 14740, 14905));
expect(e.properties.custom_cartographicRadians.getValue(documentStartDate)).toEqual(Cartesian3.fromRadians(1.25380297085855, 1.03510976346284, 7102));
expect(e.properties.custom_cartographicRadians.getValue(documentStopDate)).toEqual(Cartesian3.fromRadians(1.10648839763778, 0.231915563506949, 340));
expect(e.properties.custom_cartographicDegrees.getValue(documentStartDate)).toEqual(Cartesian3.fromDegrees(44, 31, 55762));
expect(e.properties.custom_cartographicDegrees.getValue(documentStopDate)).toEqual(Cartesian3.fromDegrees(10, 18, 28847));
expect(e.properties.custom_cartesian2.getValue(documentStartDate)).toEqual(new Cartesian2(9033, 9251));
expect(e.properties.custom_cartesian2.getValue(documentStopDate)).toEqual(new Cartesian2(34048, 58501));
expect(e.properties.custom_unitCartesian.getValue(documentStartDate)).toEqualEpsilon(new Cartesian3(0.0501133095086564, 0.917195967206924, 0.395272328843601), 1e-14);
expect(e.properties.custom_unitCartesian.getValue(documentStopDate)).toEqualEpsilon(new Cartesian3(0.797476048450763, 0.40584478979077, 0.446454878735849), 1e-14);
expect(e.properties.custom_spherical.getValue(documentStartDate)).toEqual(Cartesian3.fromSpherical(new Spherical(47098, 2231, 14088)));
expect(e.properties.custom_spherical.getValue(documentStopDate)).toEqual(Cartesian3.fromSpherical(new Spherical(34883, 48264, 41148)));
expect(e.properties.custom_unitSpherical.getValue(documentStartDate)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(48811, 24254)), 1e-14);
expect(e.properties.custom_unitSpherical.getValue(documentStopDate)).toEqualEpsilon(Cartesian3.fromSpherical(new Spherical(44800, 8111)), 1e-14);
expect(e.properties.custom_rgba.getValue(documentStartDate)).toEqual(Color.fromBytes(179, 175, 115, 46));
expect(e.properties.custom_rgba.getValue(documentStopDate)).toEqual(Color.fromBytes(136, 187, 237, 156));
expect(e.properties.custom_rgbaf.getValue(documentStartDate)).toEqualEpsilon(new Color(0.890196078431373, 0.450980392156863, 0.588235294117647, 0.72156862745098), 1e-14);
expect(e.properties.custom_rgbaf.getValue(documentStopDate)).toEqualEpsilon(new Color(0.419607843137255, 0.843137254901961, 0.36078431372549, 0.423529411764706), 1e-14);
expect(e.properties.custom_number.getValue(documentStartDate)).toEqual(24561.0);
expect(e.properties.custom_number.getValue(documentStopDate)).toEqual(45446.0);
expect(e.properties.custom_nearFarScalar.getValue(documentStartDate)).toEqual(new NearFarScalar(64112, 15354, 32827, 10368));
expect(e.properties.custom_nearFarScalar.getValue(documentStopDate)).toEqual(new NearFarScalar(55643, 45785, 33458, 29826));
expect(e.properties.custom_unitQuaternion.getValue(documentStartDate)).toEqualEpsilon(new Quaternion(0.697299305414108, 0.26496667122144, 0.615947719782462, 0.253327354041402), 1e-14);
expect(e.properties.custom_unitQuaternion.getValue(documentStopDate)).toEqualEpsilon(new Quaternion(0.134764165794432, 0.408681085292446, 0.902060273565587, 0.0332513608247514), 1e-14);
expect(e.properties.custom_wsen.getValue(documentStartDate)).toEqual(new Rectangle(1.4164143530628, 1.2888469381038, 0.679756561409663, 1.29649258884014));
expect(e.properties.custom_wsen.getValue(documentStopDate)).toEqual(new Rectangle(1.19133054275098, 0.9154648059314, 0.71347968461712, 1.32750822775441));
expect(e.properties.custom_wsenDegrees.getValue(documentStartDate)).toEqual(Rectangle.fromDegrees(29, 11, 17, 36));
expect(e.properties.custom_wsenDegrees.getValue(documentStopDate)).toEqual(Rectangle.fromDegrees(37, 16, 25, 23));
});
});
});