lspitzner / pqueue

Haskell priority queue package
Other
15 stars 13 forks source link

Add validity testing #29

Open treeowl opened 3 years ago

treeowl commented 3 years ago

There are three invariants not enforced by the types:

  1. The child of a Skip can't be Empty (i.e., no trailing zeros).
  2. The key stored in the root node is minimal.
  3. The binomial trees are heap-ordered.

We should test that all operations produce valid queues.