import { Clock } from "../../Source/Cesium.js";
|
import { ClockRange } from "../../Source/Cesium.js";
|
import { ClockStep } from "../../Source/Cesium.js";
|
import { JulianDate } from "../../Source/Cesium.js";
|
import { ClockViewModel } from "../../Source/Cesium.js";
|
|
describe("Widgets/ClockViewModel", function () {
|
it("default constructor creates a clock", function () {
|
var clockViewModel = new ClockViewModel();
|
expect(clockViewModel.clock).toBeDefined();
|
});
|
|
it("constructor sets expected properties", function () {
|
var clock = new Clock();
|
clock.startTime = JulianDate.fromIso8601("2012-01-01T00:00:00");
|
clock.stopTime = JulianDate.fromIso8601("2012-01-02T00:00:00");
|
clock.currentTime = JulianDate.fromIso8601("2012-01-01T12:00:00");
|
clock.multiplier = 1;
|
clock.clockStep = ClockStep.TICK_DEPENDENT;
|
clock.clockRange = ClockRange.UNBOUNDED;
|
clock.shouldAnimate = false;
|
|
var clockViewModel = new ClockViewModel(clock);
|
expect(clockViewModel.clock).toBe(clock);
|
expect(clockViewModel.startTime).toEqual(clock.startTime);
|
expect(clockViewModel.stopTime).toEqual(clock.stopTime);
|
expect(clockViewModel.currentTime).toEqual(clock.currentTime);
|
expect(clockViewModel.multiplier).toEqual(clock.multiplier);
|
expect(clockViewModel.clockStep).toEqual(clock.clockStep);
|
expect(clockViewModel.clockRange).toEqual(clock.clockRange);
|
expect(clockViewModel.systemTime).toBeDefined();
|
expect(clockViewModel.shouldAnimate).toEqual(false);
|
});
|
|
it("observables are updated from the clock", function () {
|
var clock = new Clock();
|
clock.startTime = JulianDate.fromIso8601("2012-01-01T00:00:00");
|
clock.stopTime = JulianDate.fromIso8601("2012-01-02T00:00:00");
|
clock.currentTime = JulianDate.fromIso8601("2012-01-01T12:00:00");
|
clock.multiplier = 1;
|
clock.clockStep = ClockStep.TICK_DEPENDENT;
|
clock.clockRange = ClockRange.UNBOUNDED;
|
clock.shouldAnimate = false;
|
|
var clockViewModel = new ClockViewModel(clock);
|
expect(clockViewModel.clock).toBe(clock);
|
expect(clockViewModel.startTime).toEqual(clock.startTime);
|
expect(clockViewModel.stopTime).toEqual(clock.stopTime);
|
expect(clockViewModel.currentTime).toEqual(clock.currentTime);
|
expect(clockViewModel.multiplier).toEqual(clock.multiplier);
|
expect(clockViewModel.clockStep).toEqual(clock.clockStep);
|
expect(clockViewModel.clockRange).toEqual(clock.clockRange);
|
expect(clockViewModel.shouldAnimate).toEqual(clock.shouldAnimate);
|
expect(clockViewModel.systemTime).toBeDefined();
|
|
clock.startTime = JulianDate.fromIso8601("2013-01-01T00:00:00");
|
clock.stopTime = JulianDate.fromIso8601("2013-01-02T00:00:00");
|
clock.currentTime = JulianDate.fromIso8601("2013-01-01T12:00:00");
|
clock.multiplier = 2;
|
clock.clockStep = ClockStep.SYSTEM_CLOCK_MULTIPLIER;
|
clock.clockRange = ClockRange.CLAMPED;
|
clock.shouldAnimate = true;
|
|
expect(clockViewModel.startTime).not.toEqual(clock.startTime);
|
expect(clockViewModel.stopTime).not.toEqual(clock.stopTime);
|
expect(clockViewModel.currentTime).not.toEqual(clock.currentTime);
|
expect(clockViewModel.multiplier).not.toEqual(clock.multiplier);
|
expect(clockViewModel.clockStep).not.toEqual(clock.clockStep);
|
expect(clockViewModel.clockRange).not.toEqual(clock.clockRange);
|
expect(clockViewModel.shouldAnimate).not.toEqual(clock.shouldAnimate);
|
|
clock.tick();
|
|
expect(clockViewModel.startTime).toEqual(clock.startTime);
|
expect(clockViewModel.stopTime).toEqual(clock.stopTime);
|
expect(clockViewModel.currentTime).toEqual(clock.currentTime);
|
expect(clockViewModel.multiplier).toEqual(clock.multiplier);
|
expect(clockViewModel.clockStep).toEqual(clock.clockStep);
|
expect(clockViewModel.clockRange).toEqual(clock.clockRange);
|
expect(clockViewModel.shouldAnimate).toEqual(clock.shouldAnimate);
|
});
|
});
|