import { ComponentDatatype } from "../../Source/Cesium.js";
|
|
describe("Core/ComponentDatatype", function () {
|
it("fromTypedArray works", function () {
|
expect(ComponentDatatype.fromTypedArray(new Int8Array())).toBe(
|
ComponentDatatype.BYTE
|
);
|
expect(ComponentDatatype.fromTypedArray(new Uint8Array())).toBe(
|
ComponentDatatype.UNSIGNED_BYTE
|
);
|
expect(ComponentDatatype.fromTypedArray(new Int16Array())).toBe(
|
ComponentDatatype.SHORT
|
);
|
expect(ComponentDatatype.fromTypedArray(new Uint16Array())).toBe(
|
ComponentDatatype.UNSIGNED_SHORT
|
);
|
expect(ComponentDatatype.fromTypedArray(new Int32Array())).toBe(
|
ComponentDatatype.INT
|
);
|
expect(ComponentDatatype.fromTypedArray(new Uint32Array())).toBe(
|
ComponentDatatype.UNSIGNED_INT
|
);
|
expect(ComponentDatatype.fromTypedArray(new Float32Array())).toBe(
|
ComponentDatatype.FLOAT
|
);
|
expect(ComponentDatatype.fromTypedArray(new Float64Array())).toBe(
|
ComponentDatatype.DOUBLE
|
);
|
});
|
|
it("validate works", function () {
|
expect(ComponentDatatype.validate(ComponentDatatype.BYTE)).toBe(true);
|
expect(ComponentDatatype.validate(ComponentDatatype.UNSIGNED_BYTE)).toBe(
|
true
|
);
|
expect(ComponentDatatype.validate(ComponentDatatype.SHORT)).toBe(true);
|
expect(ComponentDatatype.validate(ComponentDatatype.UNSIGNED_SHORT)).toBe(
|
true
|
);
|
expect(ComponentDatatype.validate(ComponentDatatype.INT)).toBe(true);
|
expect(ComponentDatatype.validate(ComponentDatatype.UNSIGNED_INT)).toBe(
|
true
|
);
|
expect(ComponentDatatype.validate(ComponentDatatype.FLOAT)).toBe(true);
|
expect(ComponentDatatype.validate(ComponentDatatype.DOUBLE)).toBe(true);
|
expect(ComponentDatatype.validate(undefined)).toBe(false);
|
expect(ComponentDatatype.validate({})).toBe(false);
|
});
|
|
it("createTypedArray works with size", function () {
|
var typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.BYTE,
|
0
|
);
|
expect(typedArray).toBeInstanceOf(Int8Array);
|
expect(typedArray.length).toBe(0);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_BYTE,
|
1
|
);
|
expect(typedArray).toBeInstanceOf(Uint8Array);
|
expect(typedArray.length).toBe(1);
|
|
typedArray = ComponentDatatype.createTypedArray(ComponentDatatype.SHORT, 2);
|
expect(typedArray).toBeInstanceOf(Int16Array);
|
expect(typedArray.length).toBe(2);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_SHORT,
|
3
|
);
|
expect(typedArray).toBeInstanceOf(Uint16Array);
|
expect(typedArray.length).toBe(3);
|
|
typedArray = ComponentDatatype.createTypedArray(ComponentDatatype.INT, 4);
|
expect(typedArray).toBeInstanceOf(Int32Array);
|
expect(typedArray.length).toBe(4);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_INT,
|
5
|
);
|
expect(typedArray).toBeInstanceOf(Uint32Array);
|
expect(typedArray.length).toBe(5);
|
|
typedArray = ComponentDatatype.createTypedArray(ComponentDatatype.FLOAT, 6);
|
expect(typedArray).toBeInstanceOf(Float32Array);
|
expect(typedArray.length).toBe(6);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.DOUBLE,
|
7
|
);
|
expect(typedArray).toBeInstanceOf(Float64Array);
|
expect(typedArray.length).toBe(7);
|
});
|
|
it("createTypedArray works with values", function () {
|
var values = [34, 12, 4, 1];
|
var typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.BYTE,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Int8Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_BYTE,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Uint8Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.SHORT,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Int16Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_SHORT,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Uint16Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.INT,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Int32Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.UNSIGNED_INT,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Uint32Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.FLOAT,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Float32Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
|
typedArray = ComponentDatatype.createTypedArray(
|
ComponentDatatype.DOUBLE,
|
values
|
);
|
expect(typedArray).toBeInstanceOf(Float64Array);
|
expect(typedArray).toEqual(values);
|
expect(typedArray.length).toBe(values.length);
|
});
|
|
it("createArrayBufferView works", function () {
|
var buffer = new ArrayBuffer(100);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.BYTE,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Int8Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.UNSIGNED_BYTE,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Uint8Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.SHORT,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Int16Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.UNSIGNED_SHORT,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Uint16Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.INT,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Int32Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.UNSIGNED_INT,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Uint32Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.FLOAT,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Float32Array);
|
expect(
|
ComponentDatatype.createArrayBufferView(
|
ComponentDatatype.DOUBLE,
|
buffer,
|
0,
|
1
|
)
|
).toBeInstanceOf(Float64Array);
|
});
|
|
it("createTypedArray throws without type", function () {
|
expect(function () {
|
ComponentDatatype.createTypedArray(undefined, 1);
|
}).toThrowDeveloperError();
|
});
|
|
it("createTypedArray throws without length or values", function () {
|
expect(function () {
|
ComponentDatatype.createTypedArray(ComponentDatatype.FLOAT, undefined);
|
}).toThrowDeveloperError();
|
});
|
|
it("createArrayBufferView throws without type", function () {
|
var buffer = new ArrayBuffer(100);
|
expect(function () {
|
ComponentDatatype.createTypedArray(undefined, buffer, 0, 1);
|
}).toThrowDeveloperError();
|
});
|
|
it("createArrayBufferView throws with invalid type", function () {
|
var buffer = new ArrayBuffer(100);
|
expect(function () {
|
ComponentDatatype.createTypedArray({}, buffer, 0, 1);
|
}).toThrowDeveloperError();
|
});
|
|
it("createArrayBufferView throws without buffer", function () {
|
expect(function () {
|
ComponentDatatype.createTypedArray(
|
ComponentDatatype.BYTE,
|
undefined,
|
0,
|
1
|
);
|
}).toThrowDeveloperError();
|
});
|
|
it("fromName works", function () {
|
expect(ComponentDatatype.fromName("BYTE")).toEqual(ComponentDatatype.BYTE);
|
expect(ComponentDatatype.fromName("UNSIGNED_BYTE")).toEqual(
|
ComponentDatatype.UNSIGNED_BYTE
|
);
|
expect(ComponentDatatype.fromName("SHORT")).toEqual(
|
ComponentDatatype.SHORT
|
);
|
expect(ComponentDatatype.fromName("UNSIGNED_SHORT")).toEqual(
|
ComponentDatatype.UNSIGNED_SHORT
|
);
|
expect(ComponentDatatype.fromName("INT")).toEqual(ComponentDatatype.INT);
|
expect(ComponentDatatype.fromName("UNSIGNED_INT")).toEqual(
|
ComponentDatatype.UNSIGNED_INT
|
);
|
expect(ComponentDatatype.fromName("FLOAT")).toEqual(
|
ComponentDatatype.FLOAT
|
);
|
expect(ComponentDatatype.fromName("DOUBLE")).toEqual(
|
ComponentDatatype.DOUBLE
|
);
|
});
|
|
it("fromName throws without name", function () {
|
expect(function () {
|
ComponentDatatype.fromName();
|
}).toThrowDeveloperError();
|
});
|
});
|