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', () => {
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', () => {
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)
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)
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)
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)