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); }); });