mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-15 20:57:56 +08:00
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
import { range, rangeFill, linspace } from "../../src/util/range";
|
|
|
|
describe("range", () => {
|
|
test("no defaults", () => {
|
|
expect(range(0, 3, 1)).toMatchObject([0, 1, 2]);
|
|
});
|
|
|
|
test("range(stop)", () => {
|
|
expect(range(3)).toMatchObject([0, 1, 2]);
|
|
expect(range(0)).toMatchObject([]);
|
|
expect(range(1)).toMatchObject([0]);
|
|
});
|
|
|
|
test("range(start,stop)", () => {
|
|
expect(range(0, 0)).toMatchObject([]);
|
|
expect(range(0, 2)).toMatchObject([0, 1]);
|
|
expect(range(4, 8)).toMatchObject([4, 5, 6, 7]);
|
|
});
|
|
|
|
test("range(start, stop, step", () => {
|
|
expect(range(4, 0, -1)).toMatchObject([4, 3, 2, 1]);
|
|
expect(range(0, 4, 2)).toMatchObject([0, 2]);
|
|
});
|
|
});
|
|
|
|
describe("rangefill", () => {
|
|
test("rangeFill(arr)", () => {
|
|
expect(rangeFill(new Int32Array(3))).toMatchObject(
|
|
new Int32Array([0, 1, 2])
|
|
);
|
|
});
|
|
test("rangeFill(arr, start)", () => {
|
|
expect(rangeFill(new Int32Array(2), 1)).toMatchObject(
|
|
new Int32Array([1, 2])
|
|
);
|
|
});
|
|
test("rangeFill(arr, start, step)", () => {
|
|
expect(rangeFill(new Int32Array(3), 2, -1)).toMatchObject(
|
|
new Int32Array([2, 1, 0])
|
|
);
|
|
});
|
|
});
|
|
|
|
describe("linspace", () => {
|
|
test("linspace(arr, start, step)", () => {
|
|
expect(linspace(0.0, 2.0, 5)).toMatchObject([0.0, 0.5, 1.0, 1.5, 2.0]);
|
|
});
|
|
});
|