15832144755
2022-01-06 7b4c8991dca9cf2a809a95e239d144697d3afb56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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);
  });
});