@Test
  void randomPushsThenPolls() {
    Random rnd = new Random(0);
    int size = 1 + rnd.nextInt(100);
    PriorityQueue<Entry> pq = new PriorityQueue<>(size);
    create(size);
    IntSet set = new IntHashSet();
    while (pq.size() < size) {
      int id = rnd.nextInt(size);
      if (!set.add(id))
        continue;
      long val = (long) (Long.MAX_VALUE * rnd.nextFloat());
      pq.add(new Entry(id, val));
      heap.push(id, val);
    }
    while (!pq.isEmpty()) {
      Entry entry = pq.poll();
      assertEquals(entry.val, heap.peekValue());
      assertEquals(entry.id, heap.poll());
      assertEquals(pq.size(), heap.size());
    }
  }
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