DSDSWeb/static/js/Cesium-1.53/Specs/Core/DistanceDisplayConditionGeo...

71 lines
2.9 KiB
JavaScript
Raw Normal View History

2024-07-11 18:02:47 +08:00
defineSuite([
'Core/DistanceDisplayConditionGeometryInstanceAttribute',
'Core/ComponentDatatype',
'Core/DistanceDisplayCondition'
], function(
DistanceDisplayConditionGeometryInstanceAttribute,
ComponentDatatype,
DistanceDisplayCondition) {
'use strict';
it('constructor', function() {
var attribute = new DistanceDisplayConditionGeometryInstanceAttribute(10.0, 100.0);
expect(attribute.componentDatatype).toEqual(ComponentDatatype.FLOAT);
expect(attribute.componentsPerAttribute).toEqual(2);
expect(attribute.normalize).toEqual(false);
var value = new Float32Array([10.0, 100.0]);
expect(attribute.value).toEqual(value);
});
it('constructor throws with far > near', function() {
expect(function() {
return new DistanceDisplayConditionGeometryInstanceAttribute(100.0, 10.0);
}).toThrowDeveloperError();
});
it('fromDistanceDisplayCondition', function() {
var dc = new DistanceDisplayCondition(10.0, 100.0);
var attribute = DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(dc);
expect(attribute.componentDatatype).toEqual(ComponentDatatype.FLOAT);
expect(attribute.componentsPerAttribute).toEqual(2);
expect(attribute.normalize).toEqual(false);
var value = new Float32Array([dc.near, dc.far]);
expect(attribute.value).toEqual(value);
});
it('fromDistanceDisplayCondition throws without distanceDisplayCondition', function() {
expect(function() {
DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition();
}).toThrowDeveloperError();
});
it('fromDistanceDisplayCondition throws with far >= near', function() {
expect(function() {
DistanceDisplayConditionGeometryInstanceAttribute.fromDistanceDisplayCondition(new DistanceDisplayCondition(100.0, 10.0));
}).toThrowDeveloperError();
});
it('toValue', function() {
var dc = new DistanceDisplayCondition(10.0, 200.0);
var expectedResult = new Float32Array([dc.near, dc.far]);
expect(DistanceDisplayConditionGeometryInstanceAttribute.toValue(dc)).toEqual(expectedResult);
});
it('toValue works with result parameter', function() {
var dc = new DistanceDisplayCondition(10.0, 200.0);
var expectedResult = new Float32Array([dc.near, dc.far]);
var result = new Float32Array(2);
var returnedResult = DistanceDisplayConditionGeometryInstanceAttribute.toValue(dc, result);
expect(returnedResult).toBe(result);
expect(returnedResult).toEqual(expectedResult);
});
it('toValue throws without a distanceDisplayCondition', function() {
expect(function() {
DistanceDisplayConditionGeometryInstanceAttribute.toValue();
}).toThrowDeveloperError();
});
});