cesium/packages/engine/Specs/DataSources/DataSourceClockSpec.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

118 lines
4.0 KiB
JavaScript
Raw Permalink Normal View History

2022-07-22 05:32:08 +08:00
import {
ClockRange,
ClockStep,
JulianDate,
DataSourceClock,
2022-11-02 03:39:57 +08:00
} from "../../index.js";
2020-04-17 08:31:36 +08:00
describe("DataSources/DataSourceClock", function () {
it("merge assigns unassigned properties", function () {
2014-07-03 03:34:44 +08:00
const source = new DataSourceClock();
source.startTime = JulianDate.now();
source.stopTime = JulianDate.now();
source.currentTime = JulianDate.now();
source.clockRange = ClockRange.CLAMPED;
source.clockStep = ClockStep.TICK_DEPENDENT;
source.multiplier = 1;
2020-04-17 08:31:36 +08:00
2014-07-03 03:34:44 +08:00
const target = new DataSourceClock();
target.merge(source);
2020-04-17 08:31:36 +08:00
expect(target.startTime).toBe(source.startTime);
expect(target.stopTime).toBe(source.stopTime);
expect(target.currentTime).toBe(source.currentTime);
expect(target.clockRange).toBe(source.clockRange);
expect(target.clockStep).toBe(source.clockStep);
expect(target.multiplier).toBe(source.multiplier);
});
2020-04-17 08:31:36 +08:00
it("merge does not assign assigned properties", function () {
2014-07-03 03:34:44 +08:00
const source = new DataSourceClock();
source.startTime = JulianDate.now();
source.stopTime = JulianDate.now();
source.currentTime = JulianDate.now();
source.clockRange = ClockRange.CLAMPED;
source.clockStep = ClockStep.TICK_DEPENDENT;
source.multiplier = 1;
2020-04-17 08:31:36 +08:00
const startTime = JulianDate.now();
const stopTime = JulianDate.now();
const currentTime = JulianDate.now();
const clockRange = ClockRange.CLAMPED;
const clockStep = ClockStep.TICK_DEPENDENT;
const multiplier = 1;
2020-04-17 08:31:36 +08:00
2014-07-03 03:34:44 +08:00
const target = new DataSourceClock();
target.startTime = startTime;
target.stopTime = stopTime;
target.currentTime = currentTime;
target.clockRange = clockRange;
target.clockStep = clockStep;
target.multiplier = multiplier;
2020-04-17 08:31:36 +08:00
target.merge(source);
2020-04-17 08:31:36 +08:00
expect(target.startTime).toBe(startTime);
expect(target.stopTime).toBe(stopTime);
expect(target.currentTime).toBe(currentTime);
expect(target.clockRange).toBe(clockRange);
expect(target.clockStep).toBe(clockStep);
expect(target.multiplier).toBe(multiplier);
});
2020-04-17 08:31:36 +08:00
it("clone works", function () {
2014-07-03 03:34:44 +08:00
const source = new DataSourceClock();
source.startTime = JulianDate.now();
source.stopTime = JulianDate.now();
source.currentTime = JulianDate.now();
source.clockRange = ClockRange.CLAMPED;
source.clockStep = ClockStep.TICK_DEPENDENT;
source.multiplier = 1;
2020-04-17 08:31:36 +08:00
const result = source.clone();
expect(result.startTime).toBe(source.startTime);
expect(result.stopTime).toBe(source.stopTime);
expect(result.currentTime).toBe(source.currentTime);
expect(result.clockRange).toBe(source.clockRange);
expect(result.clockStep).toBe(source.clockStep);
expect(result.multiplier).toBe(source.multiplier);
});
2020-04-17 08:31:36 +08:00
it("merge throws if source undefined", function () {
2014-07-03 03:34:44 +08:00
const target = new DataSourceClock();
expect(function () {
target.merge(undefined);
2014-01-11 07:24:43 +08:00
}).toThrowDeveloperError();
});
2020-04-17 08:31:36 +08:00
2016-12-26 17:23:56 +08:00
it("gets value as a clock instance", function () {
const source = new DataSourceClock();
source.startTime = JulianDate.now();
source.stopTime = JulianDate.now();
source.currentTime = JulianDate.now();
source.clockRange = ClockRange.CLAMPED;
source.clockStep = ClockStep.TICK_DEPENDENT;
source.multiplier = 2;
2020-04-17 08:31:36 +08:00
2016-12-26 17:23:56 +08:00
let clock = source.getValue();
expect(clock.startTime).toEqual(source.startTime);
expect(clock.stopTime).toEqual(source.stopTime);
expect(clock.currentTime).toEqual(source.currentTime);
expect(clock.clockRange).toEqual(source.clockRange);
expect(clock.clockStep).toEqual(source.clockStep);
expect(clock.multiplier).toEqual(source.multiplier);
2020-04-17 08:31:36 +08:00
2016-12-26 17:23:56 +08:00
source.multiplier = undefined;
source.clockStep = undefined;
source.clockRange = undefined;
2020-04-17 08:31:36 +08:00
2016-12-26 17:23:56 +08:00
clock = source.getValue();
expect(clock.startTime).toEqual(source.startTime);
expect(clock.stopTime).toEqual(source.stopTime);
expect(clock.currentTime).toEqual(source.currentTime);
expect(clock.clockRange).toEqual(ClockRange.UNBOUNDED);
expect(clock.clockStep).toEqual(ClockStep.SYSTEM_CLOCK_MULTIPLIER);
expect(clock.multiplier).toEqual(1.0);
2016-12-26 17:23:56 +08:00
});
});