You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.5 KiB
JavaScript
76 lines
2.5 KiB
JavaScript
import { AssociativeArray } from "../../Source/Cesium.js";
|
|
|
|
describe("Core/AssociativeArray", function () {
|
|
it("constructor has expected default values", function () {
|
|
var associativeArray = new AssociativeArray();
|
|
expect(associativeArray.length).toEqual(0);
|
|
expect(associativeArray.values).toEqual([]);
|
|
});
|
|
|
|
it("can manipulate values", function () {
|
|
var associativeArray = new AssociativeArray();
|
|
|
|
expect(associativeArray.contains("key1")).toEqual(false);
|
|
|
|
associativeArray.set("key1", 1);
|
|
associativeArray.set("key2", 2);
|
|
associativeArray.set("key3", 3);
|
|
|
|
expect(associativeArray.get("key1")).toEqual(1);
|
|
expect(associativeArray.get("key2")).toEqual(2);
|
|
expect(associativeArray.get("key3")).toEqual(3);
|
|
expect(associativeArray.length).toEqual(3);
|
|
|
|
expect(associativeArray.contains("key1")).toEqual(true);
|
|
expect(associativeArray.contains("key2")).toEqual(true);
|
|
expect(associativeArray.contains("key3")).toEqual(true);
|
|
|
|
var values = associativeArray.values;
|
|
expect(values).toContain(1);
|
|
expect(values).toContain(2);
|
|
expect(values).toContain(3);
|
|
expect(values.length).toEqual(3);
|
|
|
|
associativeArray.set("key2", 4);
|
|
expect(associativeArray.length).toEqual(3);
|
|
|
|
expect(values).toContain(1);
|
|
expect(values).not.toContain(2);
|
|
expect(values).toContain(4);
|
|
expect(values).toContain(3);
|
|
expect(values.length).toEqual(3);
|
|
|
|
expect(associativeArray.remove("key1")).toBe(true);
|
|
expect(associativeArray.get("key1")).toBeUndefined();
|
|
expect(associativeArray.contains("key1")).toEqual(false);
|
|
expect(values).not.toContain(1);
|
|
expect(values).toContain(4);
|
|
expect(values).toContain(3);
|
|
expect(values.length).toEqual(2);
|
|
expect(associativeArray.remove("key1")).toBe(false);
|
|
|
|
associativeArray.removeAll();
|
|
expect(associativeArray.length).toEqual(0);
|
|
expect(associativeArray.values).toEqual([]);
|
|
});
|
|
|
|
it("set throws with undefined key", function () {
|
|
var associativeArray = new AssociativeArray();
|
|
expect(function () {
|
|
associativeArray.set(undefined, 1);
|
|
}).toThrowDeveloperError();
|
|
});
|
|
|
|
it("get throws with undefined key", function () {
|
|
var associativeArray = new AssociativeArray();
|
|
expect(function () {
|
|
associativeArray.get(undefined);
|
|
}).toThrowDeveloperError();
|
|
});
|
|
|
|
it("remove returns false with undefined key", function () {
|
|
var associativeArray = new AssociativeArray();
|
|
expect(associativeArray.remove(undefined)).toBe(false);
|
|
});
|
|
});
|