UNPKG

priority-queue-with-custom-comparator

Version:

Priority queue data structure where you are able to set your own compare function.

36 lines (35 loc) 1.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const queue_1 = __importDefault(require("../src/queue")); const test_helper_1 = require("./test.helper"); test('initial state (created with initialElements) and none added', () => { const numberPriorityQueue = new queue_1.default({ comparator: test_helper_1.defaultMaxComparator, initialElements: [2, 3, 1], }); expect(numberPriorityQueue.values().toString()).toBe([3, 2, 1].toString()); }); test('initial state (created with initialElements) and some added', () => { const numberPriorityQueue = new queue_1.default({ comparator: test_helper_1.defaultMaxComparator, initialElements: [2, 3, 1], }); numberPriorityQueue.pushMany([5, 6, 7]); expect(numberPriorityQueue.values().toString()).toBe([7, 5, 6, 2, 3, 1].toString()); }); test('initial state (created without initialElements) and none added', () => { const numberPriorityQueue = new queue_1.default({ comparator: test_helper_1.defaultMaxComparator, }); expect(numberPriorityQueue.values().toString()).toBe([].toString()); }); test('initial state (created without initialElements) and some added', () => { const numberPriorityQueue = new queue_1.default({ comparator: test_helper_1.defaultMaxComparator, }); numberPriorityQueue.pushMany([5, 6, 7]); expect(numberPriorityQueue.values().toString()).toBe([7, 5, 6].toString()); });