mirror of
https://github.com/mapillary/mapillary-js.git
synced 2025-12-08 17:35:55 +00:00
Replay all cells for all subscriptions. Ensure that valid spatially visualized cells are not uncached in graph. Reset scene completely on deactivation.
37 lines
1.4 KiB
TypeScript
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);
|
|
|
|
});
|
|
});
|