2023-11-23 10:40:30 +00:00
|
|
|
import {
|
2023-11-23 13:43:45 +00:00
|
|
|
AVLTree,
|
|
|
|
BinaryTree,
|
|
|
|
BST,
|
2023-11-23 10:40:30 +00:00
|
|
|
Deque,
|
|
|
|
DoublyLinkedList,
|
|
|
|
MaxHeap,
|
|
|
|
MaxPriorityQueue,
|
|
|
|
MinHeap,
|
|
|
|
MinPriorityQueue,
|
|
|
|
Queue,
|
2023-11-23 13:43:45 +00:00
|
|
|
RedBlackTree,
|
2023-11-23 10:40:30 +00:00
|
|
|
SinglyLinkedList,
|
2023-11-23 13:43:45 +00:00
|
|
|
Stack,
|
|
|
|
TreeMultimap
|
2023-11-23 10:40:30 +00:00
|
|
|
} from '../../src';
|
2023-11-23 13:43:45 +00:00
|
|
|
import { isDebugTest } from "../config";
|
2023-11-23 10:40:30 +00:00
|
|
|
|
2023-11-23 13:43:45 +00:00
|
|
|
const isDebug = isDebugTest;
|
2023-11-23 10:40:30 +00:00
|
|
|
const orgArr: number[] = [6, 1, 2, 7, 5, 3, 4, 9, 8];
|
2023-11-23 13:43:45 +00:00
|
|
|
const entries: [number, number][] = [[6, 6], [1, 1], [2, 2], [7, 7], [5, 5], [3, 3], [4, 4], [9, 9], [8, 8]];
|
|
|
|
|
2023-11-23 10:40:30 +00:00
|
|
|
describe('conversions', () => {
|
|
|
|
it('Array to Queue', () => {
|
|
|
|
const q = new Queue<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && q.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to Deque', () => {
|
|
|
|
const dq = new Deque<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && dq.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to SinglyLinkedList', () => {
|
|
|
|
const sl = new SinglyLinkedList<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && sl.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to DoublyLinkedList', () => {
|
|
|
|
const dl = new DoublyLinkedList<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && dl.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to Stack', () => {
|
|
|
|
const stack = new Stack<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && stack.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to MinHeap', () => {
|
|
|
|
const minHeap = new MinHeap<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && minHeap.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to MaxHeap', () => {
|
|
|
|
const maxHeap = new MaxHeap<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && maxHeap.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to MinPriorityQueue', () => {
|
|
|
|
const minPQ = new MinPriorityQueue<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && minPQ.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
it('Array to MaxPriorityQueue', () => {
|
|
|
|
const maxPQ = new MaxPriorityQueue<number>(orgArr);
|
2023-11-23 13:43:45 +00:00
|
|
|
isDebug && maxPQ.print();
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Entry Array to BinaryTree', () => {
|
|
|
|
const biTree = new BinaryTree<number>(entries);
|
|
|
|
isDebug && biTree.print();
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Entry Array to BST', () => {
|
|
|
|
const bst = new BST<number>(orgArr);
|
|
|
|
expect(bst.size).toBe(9)
|
|
|
|
isDebug && bst.print();
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Entry Array to RedBlackTree', () => {
|
|
|
|
const rbTree = new RedBlackTree<number>(orgArr);
|
|
|
|
expect(rbTree.size).toBe(9)
|
|
|
|
isDebug && rbTree.print();
|
2023-11-23 10:40:30 +00:00
|
|
|
})
|
2023-11-23 13:43:45 +00:00
|
|
|
|
|
|
|
it('Entry Array to AVLTree', () => {
|
|
|
|
const avl = new AVLTree<number>(orgArr);
|
|
|
|
expect(avl.size).toBe(9)
|
|
|
|
isDebug && avl.print();
|
|
|
|
})
|
|
|
|
|
|
|
|
it('Entry Array to TreeMultimap', () => {
|
|
|
|
const treeMulti = new TreeMultimap<number>(orgArr);
|
|
|
|
expect(treeMulti.size).toBe(9)
|
|
|
|
isDebug && treeMulti.print();
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|