X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fdeque.test.js;h=73e54590b3956e91ba7b1c2ad39e636c3fa92a95;hb=6df3f913505e06ea622a7bcddeb3513e01696fed;hp=dec96b3582a28605fca18d24204428e9f93da4c3;hpb=574b351dcb46b90a6a8d0ffb15b5016392e5a63f;p=poolifier.git diff --git a/tests/deque.test.js b/tests/deque.test.js index dec96b35..73e54590 100644 --- a/tests/deque.test.js +++ b/tests/deque.test.js @@ -8,20 +8,20 @@ describe('Deque test suite', () => { expect(deque.size).toBe(1) expect(deque.maxSize).toBe(1) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 1 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 1 }) rtSize = deque.push(2) expect(deque.size).toBe(2) expect(deque.maxSize).toBe(2) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 2 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 2 }) rtSize = deque.push(3) expect(deque.size).toBe(3) expect(deque.maxSize).toBe(3) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 3 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 3 }) }) it('Verify unshift() behavior', () => { @@ -30,20 +30,20 @@ describe('Deque test suite', () => { expect(deque.size).toBe(1) expect(deque.maxSize).toBe(1) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 1 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 1 }) rtSize = deque.unshift(2) expect(deque.size).toBe(2) expect(deque.maxSize).toBe(2) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 2 }) - expect(deque.tail).toMatchObject({ value: 1 }) + expect(deque.head).toMatchObject({ data: 2 }) + expect(deque.tail).toMatchObject({ data: 1 }) rtSize = deque.unshift(3) expect(deque.size).toBe(3) expect(deque.maxSize).toBe(3) expect(rtSize).toBe(deque.size) - expect(deque.head).toMatchObject({ value: 3 }) - expect(deque.tail).toMatchObject({ value: 1 }) + expect(deque.head).toMatchObject({ data: 3 }) + expect(deque.tail).toMatchObject({ data: 1 }) }) it('Verify pop() behavior', () => { @@ -55,14 +55,14 @@ describe('Deque test suite', () => { expect(deque.size).toBe(2) expect(deque.maxSize).toBe(3) expect(rtItem).toBe(3) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 2 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 2 }) rtItem = deque.pop() expect(deque.size).toBe(1) expect(deque.maxSize).toBe(3) expect(rtItem).toBe(2) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 1 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 1 }) rtItem = deque.pop() expect(deque.size).toBe(0) expect(deque.maxSize).toBe(3) @@ -80,14 +80,14 @@ describe('Deque test suite', () => { expect(deque.size).toBe(2) expect(deque.maxSize).toBe(3) expect(rtItem).toBe(1) - expect(deque.head).toMatchObject({ value: 2 }) - expect(deque.tail).toMatchObject({ value: 3 }) + expect(deque.head).toMatchObject({ data: 2 }) + expect(deque.tail).toMatchObject({ data: 3 }) rtItem = deque.shift() expect(deque.size).toBe(1) expect(deque.maxSize).toBe(3) expect(rtItem).toBe(2) - expect(deque.head).toMatchObject({ value: 3 }) - expect(deque.tail).toMatchObject({ value: 3 }) + expect(deque.head).toMatchObject({ data: 3 }) + expect(deque.tail).toMatchObject({ data: 3 }) rtItem = deque.shift() expect(deque.size).toBe(0) expect(deque.maxSize).toBe(3) @@ -96,6 +96,26 @@ describe('Deque test suite', () => { expect(deque.tail).toBeUndefined() }) + it('Verify peekFirst() behavior', () => { + const deque = new Deque() + deque.push(1) + deque.push(2) + deque.push(3) + expect(deque.size).toBe(3) + expect(deque.peekFirst()).toBe(1) + expect(deque.size).toBe(3) + }) + + it('Verify peekLast() behavior', () => { + const deque = new Deque() + deque.push(1) + deque.push(2) + deque.push(3) + expect(deque.size).toBe(3) + expect(deque.peekLast()).toBe(3) + expect(deque.size).toBe(3) + }) + it('Verify clear() behavior', () => { const deque = new Deque() deque.push(1) @@ -103,8 +123,8 @@ describe('Deque test suite', () => { deque.push(3) expect(deque.size).toBe(3) expect(deque.maxSize).toBe(3) - expect(deque.head).toMatchObject({ value: 1 }) - expect(deque.tail).toMatchObject({ value: 3 }) + expect(deque.head).toMatchObject({ data: 1 }) + expect(deque.tail).toMatchObject({ data: 3 }) deque.clear() expect(deque.size).toBe(0) expect(deque.maxSize).toBe(0) @@ -123,4 +143,16 @@ describe('Deque test suite', () => { ++i } }) + + it('Verify backward() iterator behavior', () => { + const deque = new Deque() + deque.push(1) + deque.push(2) + deque.push(3) + let i = deque.size + for (const value of deque.backward()) { + expect(value).toBe(i) + --i + } + }) })