yzt
2023-05-05 634ab285812bcc3eb802cacb9ec54f489bc2728f
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import { Color } from "../../Source/Cesium.js";
import { ColorGeometryInstanceAttribute } from "../../Source/Cesium.js";
import { ComponentDatatype } from "../../Source/Cesium.js";
 
describe("Core/ColorGeometryInstanceAttribute", function () {
  it("constructor", function () {
    var attribute = new ColorGeometryInstanceAttribute(1.0, 1.0, 0.0, 0.5);
    expect(attribute.componentDatatype).toEqual(
      ComponentDatatype.UNSIGNED_BYTE
    );
    expect(attribute.componentsPerAttribute).toEqual(4);
    expect(attribute.normalize).toEqual(true);
 
    var value = new Uint8Array(new Color(1.0, 1.0, 0.0, 0.5).toBytes());
    expect(attribute.value).toEqual(value);
  });
 
  it("fromColor", function () {
    var color = Color.AQUA;
    var attribute = ColorGeometryInstanceAttribute.fromColor(color);
    expect(attribute.componentDatatype).toEqual(
      ComponentDatatype.UNSIGNED_BYTE
    );
    expect(attribute.componentsPerAttribute).toEqual(4);
    expect(attribute.normalize).toEqual(true);
 
    var value = new Uint8Array(color.toBytes());
    expect(attribute.value).toEqual(value);
  });
 
  it("fromColor throws without color", function () {
    expect(function () {
      ColorGeometryInstanceAttribute.fromColor();
    }).toThrowDeveloperError();
  });
 
  it("toValue", function () {
    var color = Color.AQUA;
    var expectedResult = new Uint8Array(color.toBytes());
    expect(ColorGeometryInstanceAttribute.toValue(color)).toEqual(
      expectedResult
    );
  });
 
  it("toValue works with result parameter", function () {
    var color = Color.AQUA;
    var expectedResult = new Uint8Array(color.toBytes());
    var result = new Uint8Array(4);
    var returnedResult = ColorGeometryInstanceAttribute.toValue(color, result);
    expect(returnedResult).toBe(result);
    expect(returnedResult).toEqual(expectedResult);
  });
 
  it("toValue throws without a color", function () {
    expect(function () {
      ColorGeometryInstanceAttribute.toValue();
    }).toThrowDeveloperError();
  });
 
  it("equals", function () {
    var color = new ColorGeometryInstanceAttribute(0.1, 0.2, 0.3, 0.4);
    expect(ColorGeometryInstanceAttribute.equals(color, color)).toEqual(true);
    expect(
      ColorGeometryInstanceAttribute.equals(
        color,
        new ColorGeometryInstanceAttribute(0.1, 0.2, 0.3, 0.4)
      )
    ).toEqual(true);
    expect(
      ColorGeometryInstanceAttribute.equals(
        color,
        new ColorGeometryInstanceAttribute(0.5, 0.2, 0.3, 0.4)
      )
    ).toEqual(false);
    expect(
      ColorGeometryInstanceAttribute.equals(
        color,
        new ColorGeometryInstanceAttribute(0.1, 0.5, 0.3, 0.4)
      )
    ).toEqual(false);
    expect(
      ColorGeometryInstanceAttribute.equals(
        color,
        new ColorGeometryInstanceAttribute(0.1, 0.2, 0.5, 0.4)
      )
    ).toEqual(false);
    expect(
      ColorGeometryInstanceAttribute.equals(
        color,
        new ColorGeometryInstanceAttribute(0.1, 0.2, 0.3, 0.5)
      )
    ).toEqual(false);
    expect(ColorGeometryInstanceAttribute.equals(color, undefined)).toEqual(
      false
    );
    expect(ColorGeometryInstanceAttribute.equals(undefined, color)).toEqual(
      false
    );
  });
});