import { Cartesian3 } from "../../Source/Cesium.js"; import { JulianDate } from "../../Source/Cesium.js"; import { CallbackProperty } from "../../Source/Cesium.js"; import { ConstantProperty } from "../../Source/Cesium.js"; import { TerrainOffsetProperty } from "../../Source/Cesium.js"; import createGlobe from "../createGlobe.js"; import createScene from "../createScene.js"; describe("DataSources/TerrainOffsetProperty", function () { var scene; var time = JulianDate.now(); beforeAll(function () { scene = createScene(); scene.globe = createGlobe(); }); afterAll(function () { scene.destroyForSpecs(); }); it("can construct and destroy", function () { var position = new CallbackProperty(jasmine.createSpy(), false); var height = new ConstantProperty(30); var extrudedHeight = new ConstantProperty(0); var property = new TerrainOffsetProperty( scene, position, height, extrudedHeight ); expect(property.isConstant).toBe(false); expect(property.getValue(time)).toEqual(Cartesian3.ZERO); property.destroy(); expect(property.isDestroyed()).toBe(true); }); it("throws without scene", function () { var position = new CallbackProperty(jasmine.createSpy(), false); var height = new ConstantProperty(30); var extrudedHeight = new ConstantProperty(0); expect(function () { return new TerrainOffsetProperty( undefined, position, height, extrudedHeight ); }).toThrowDeveloperError(); }); it("throws without position", function () { var height = new ConstantProperty(30); var extrudedHeight = new ConstantProperty(0); expect(function () { return new TerrainOffsetProperty( scene, undefined, height, extrudedHeight ); }).toThrowDeveloperError(); }); });