X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=tests%2Fqueue.test.js;h=f4b83d575a27abb9cd8ae3c9578727b6e703b0d3;hb=b25a42cd89afca28b53dbecbec422595155ddfbc;hp=3a61f43df48b5f8c34a0047389de2c0889fe3973;hpb=a715ab843cbc30a366c1925ab221caee0e43b173;p=poolifier.git diff --git a/tests/queue.test.js b/tests/queue.test.js index 3a61f43d..f4b83d57 100644 --- a/tests/queue.test.js +++ b/tests/queue.test.js @@ -7,24 +7,21 @@ describe('Queue test suite', () => { let rtSize = queue.enqueue(1) expect(queue.size).toBe(1) expect(rtSize).toBe(queue.size) - expect(queue.head).toBe(0) - expect(queue.tail).toBe(1) - expect(queue.max).toBe(1) - expect(queue.items).toStrictEqual({ 0: 1 }) + expect(queue.offset).toBe(0) + expect(queue.maxSize).toBe(1) + expect(queue.items).toStrictEqual([1]) rtSize = queue.enqueue(2) expect(queue.size).toBe(2) expect(rtSize).toBe(queue.size) - expect(queue.head).toBe(0) - expect(queue.tail).toBe(2) - expect(queue.max).toBe(2) - expect(queue.items).toStrictEqual({ 0: 1, 1: 2 }) + expect(queue.offset).toBe(0) + expect(queue.maxSize).toBe(2) + expect(queue.items).toStrictEqual([1, 2]) rtSize = queue.enqueue(3) expect(queue.size).toBe(3) expect(rtSize).toBe(queue.size) - expect(queue.head).toBe(0) - expect(queue.tail).toBe(3) - expect(queue.max).toBe(3) - expect(queue.items).toStrictEqual({ 0: 1, 1: 2, 2: 3 }) + expect(queue.offset).toBe(0) + expect(queue.maxSize).toBe(3) + expect(queue.items).toStrictEqual([1, 2, 3]) }) it('Verify dequeue() behavior', () => { @@ -35,23 +32,46 @@ describe('Queue test suite', () => { let rtItem = queue.dequeue() expect(queue.size).toBe(2) expect(rtItem).toBe(1) - expect(queue.head).toBe(1) - expect(queue.tail).toBe(3) - expect(queue.max).toBe(3) - expect(queue.items).toStrictEqual({ 1: 2, 2: 3 }) + expect(queue.offset).toBe(1) + expect(queue.maxSize).toBe(3) + expect(queue.items).toStrictEqual([1, 2, 3]) rtItem = queue.dequeue() expect(queue.size).toBe(1) expect(rtItem).toBe(2) - expect(queue.head).toBe(2) - expect(queue.tail).toBe(3) - expect(queue.max).toBe(3) - expect(queue.items).toStrictEqual({ 2: 3 }) + expect(queue.offset).toBe(0) + expect(queue.maxSize).toBe(3) + expect(queue.items).toStrictEqual([3]) rtItem = queue.dequeue() expect(queue.size).toBe(0) expect(rtItem).toBe(3) - expect(queue.head).toBe(0) - expect(queue.tail).toBe(0) - expect(queue.max).toBe(3) - expect(queue.items).toStrictEqual({}) + expect(queue.offset).toBe(0) + expect(queue.maxSize).toBe(3) + expect(queue.items).toStrictEqual([]) + }) + + it('Verify clear() behavior', () => { + const queue = new Queue() + queue.enqueue(1) + queue.enqueue(2) + queue.enqueue(3) + expect(queue.size).toBe(3) + expect(queue.maxSize).toBe(3) + queue.clear() + expect(queue.size).toBe(0) + expect(queue.maxSize).toBe(0) + expect(queue.items).toStrictEqual([]) + expect(queue.offset).toBe(0) + }) + + it('Verify iterator behavior', () => { + const queue = new Queue() + queue.enqueue(1) + queue.enqueue(2) + queue.enqueue(3) + let i = 1 + for (const item of queue) { + expect(item).toBe(i) + ++i + } }) })