Skip to content

Commit 1f55c5d

Browse files
committed
resolve: removed capacity related codes, & updated test cases
1 parent 73d5e0d commit 1f55c5d

2 files changed

Lines changed: 18 additions & 52 deletions

File tree

Data-Structures/Queue/Queue.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,9 @@
99
class Queue {
1010
#size
1111

12-
constructor (capacity) {
13-
if (capacity < 1) {
14-
throw new Error('Capacity is not valid')
15-
}
16-
12+
constructor () {
1713
this.head = null
1814
this.tail = null
19-
this.capacity = capacity
2015
this.#size = 0
2116

2217
return Object.seal(this)
@@ -32,10 +27,6 @@ class Queue {
3227
* @returns {number} - The current size of queue
3328
*/
3429
enqueue (data) {
35-
if (this.capacity === this.#size) {
36-
throw new RangeError('Queue is full')
37-
}
38-
3930
const node = { data, next: null }
4031

4132
if (!this.head && !this.tail) {

Data-Structures/Queue/test/Queue.test.js

Lines changed: 17 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,35 @@
11
import Queue from '../Queue'
22

33
describe('Testing the Queue DS', () => {
4-
it('Check Capacity', () => {
5-
const queue = new Queue(3)
6-
queue.enqueue(1)
7-
queue.enqueue(2)
8-
queue.enqueue(8)
4+
const queue = new Queue()
95

10-
expect(() => queue.enqueue(9)).toThrow()
6+
it('Testing enqueue method', () => {
7+
expect(queue.enqueue(1)).toBe(1)
8+
expect(queue.enqueue(2)).toBe(2)
9+
expect(queue.enqueue(8)).toBe(3)
10+
expect(queue.enqueue(9)).toBe(4)
1111
})
1212

13-
it('Check enqueue/dequeue', () => {
14-
const queue = new Queue(10)
15-
queue.enqueue(1)
16-
queue.enqueue(2)
17-
queue.enqueue(8)
18-
queue.enqueue(9)
19-
20-
expect(queue.dequeue()).toBe(1)
21-
expect(queue.dequeue()).toBe(2)
13+
it('Testing length method', () => {
14+
expect(queue.length).toBe(4)
2215
})
2316

24-
it('Check length', () => {
25-
const queue = new Queue(5)
26-
27-
queue.enqueue(1)
28-
queue.enqueue(2)
29-
queue.enqueue(8)
30-
queue.enqueue(9)
31-
32-
expect(queue.toArray()).toEqual([1, 2, 8, 9])
33-
})
34-
35-
it('Check peekFirst & peekLast', () => {
36-
const queue = new Queue(4)
37-
38-
queue.enqueue(1)
39-
queue.enqueue(2)
40-
queue.enqueue(8)
41-
queue.enqueue(9)
42-
17+
it('Testing peekFirst & peekLast methods', () => {
4318
expect(queue.peekFirst()).toBe(1)
4419
expect(queue.peekLast()).toBe(9)
4520
})
4621

47-
it('Check toArray', () => {
48-
const queue = new Queue()
22+
it('Testing toArray method', () => {
23+
expect(queue.toArray()).toEqual([1, 2, 8, 9])
24+
})
4925

50-
queue.enqueue(1)
51-
queue.enqueue(2)
52-
queue.enqueue(8)
53-
queue.enqueue(9)
26+
it('Testing dequeue method', () => {
27+
expect(queue.dequeue()).toBe(1)
28+
expect(queue.dequeue()).toBe(2)
5429
})
5530

56-
it('Check empty', () => {
57-
const queue = new Queue(5)
31+
it('Testing isEmpty method', () => {
32+
const queue = new Queue()
5833
expect(queue.isEmpty()).toBeTruthy()
5934

6035
queue.enqueue(1)

0 commit comments

Comments
 (0)