@heap-data-structure/specification

Heap specification code bricks for JavaScript

Usage no npm install needed!

<script type="module">
  import heapDataStructureSpecification from 'https://cdn.skypack.dev/@heap-data-structure/specification';
</script>

README

:mount_fuji: @heap-data-structure/specification

Heap specification library for JavaScript. See docs. Parent is @heap-data-structure.

// eslint-disable-next-line ava/use-test
import ava from 'ava' ;
import * as spec from '@heap-data-structure/specification' ;

spec.test(
  ava ,
  [
    [
      "DummyHeap" , // Name for the implementation
      compare => new spec.DummyHeap(compare) // Return an empty heap using `compare` to order priorities
    ]
  ] ,
  {
    references : true , // Do the implementations maintain references?
    length : true , // Do the implementations maintain a `length` property?
    lengths : [[0], [1], [16], [17], [31], [32], [33], [63], [64], [65]] ,
    lengths1 : [[0], [1], [16], [17], [31], [32], [33], [63], [64], [65]] , // for merge/meld test
    lengths2 : [[0], [1], [16], [17], [31], [32], [33], [63], [64], [65]] ,  // for merge/meld test
  }
) ;

License Version Tests Dependencies Dev dependencies GitHub issues Downloads

Code issues Code maintainability Code coverage (cov) Code technical debt Documentation Package size

:newspaper: Description

This package contains a specification test suite for heap implementations such as @heap-data-structure/d-ary-heap, @heap-data-structure/pairing-heap, @heap-data-structure/binomial-heap, and @heap-data-structure/fibonacci-heap.

:scroll: Reference