@Test
  void update() {
    create(10);
    heap.push(9, 36L);
    heap.push(5, 21L);
    heap.push(3, 23L);
    heap.update(3, 1L);
    assertEquals(3, heap.peekId());
    heap.update(3, 100L);
    assertEquals(5, heap.peekId());
    heap.update(9, -13L);
    assertEquals(9, heap.peekId());
    assertEquals(-13L, heap.peekValue());
    IntArrayList polled = new IntArrayList();
    while (!heap.isEmpty()) {
      polled.add(heap.poll());
    }
    assertEquals(IntArrayList.from(9, 5, 3), polled);
  }
Ported from <a href=
"https://github.com/graphhopper/graphhopper/blob/master/core/src/test/java/com/graphhopper/coll/MinHeapWithUpdateTest.java">GraphHopper</a>
and modified to use long instead of float values, use stable random seed for reproducibility, and to use new
implementations.
planetiler-core/src/test/java/com/onthegomap/planetiler/collection/MinHeapTest.java