UNPKG

priority-queue-with-custom-comparator

Version:

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

29 lines (28 loc) 1.31 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"); afterEach(() => { jest.clearAllMocks(); }); test('initial state (created without initialElements) and some added', () => { const numberPriorityQueue = new queue_1.default({ comparator: test_helper_1.defaultMaxComparator, }); expect(numberPriorityQueue.has(5)).toBe(false); expect(numberPriorityQueue.has(2)).toBe(false); expect(numberPriorityQueue.has(0)).toBe(false); expect(numberPriorityQueue.has(-1)).toBe(false); expect(numberPriorityQueue.values().toString()).toBe([].toString()); expect(numberPriorityQueue.size()).toBe(0); numberPriorityQueue.pushMany([5, 2, -1]); expect(numberPriorityQueue.has(5)).toBe(true); expect(numberPriorityQueue.has(2)).toBe(true); expect(numberPriorityQueue.has(0)).toBe(false); expect(numberPriorityQueue.has(-1)).toBe(true); expect(numberPriorityQueue.values().toString()).toBe([5, 2, -1].toString()); expect(numberPriorityQueue.size()).toBe(3); });