mapillary-js/test/api/CellMath.test.ts
Oscar Lorentzon 03b50a99b0 fix: render visible items on spatial activation
Replay all cells for all subscriptions.
Ensure that valid spatially visualized
cells are not uncached in graph.
Reset scene completely on deactivation.
2021-05-04 08:01:35 +02:00

37 lines
1.4 KiB
TypeScript

import { connectedComponent } from "../../src/api/CellMath";
import { S2GeometryProvider } from "../../src/api/S2GeometryProvider";
describe("connectedComponent", () => {
it("should have the correct number of ids", () => {
const geometry = new S2GeometryProvider();
const cellId = geometry.lngLatToCellId({ lat: 10, lng: 20 });
expect(connectedComponent(cellId, 0, geometry).length).toBe(1);
expect(connectedComponent(cellId, 1, geometry).length).toBe(3 * 3);
expect(connectedComponent(cellId, 2, geometry).length).toBe(5 * 5);
expect(connectedComponent(cellId, 3, geometry).length).toBe(7 * 7);
expect(connectedComponent(cellId, 6, geometry).length).toBe(13 * 13);
});
it("should have unique ids", () => {
const geometry = new S2GeometryProvider();
const cellId = geometry.lngLatToCellId({ lat: 20, lng: -20 });
const cc0 = connectedComponent(cellId, 0, geometry);
expect(cc0.length).toBe(new Set(cc0).size);
const cc1 = connectedComponent(cellId, 1, geometry);
expect(cc1.length).toBe(new Set(cc1).size);
const cc2 = connectedComponent(cellId, 2, geometry);
expect(cc2.length).toBe(new Set(cc2).size);
const cc3 = connectedComponent(cellId, 3, geometry);
expect(cc3.length).toBe(new Set(cc3).size);
const cc6 = connectedComponent(cellId, 6, geometry);
expect(cc6.length).toBe(new Set(cc6).size);
});
});