@@ -29,8 +29,10 @@ import (
2929)
3030
3131func TestJobQueue_NewQueueEmpty (t * testing.T ) {
32+ // When
3233 queue := NewJobQueue ()
3334
35+ // Then
3436 if ! queue .IsEmpty () {
3537 t .Errorf ("Expected new queue to be empty, but it was not" )
3638 }
@@ -41,88 +43,128 @@ func TestJobQueue_NewQueueEmpty(t *testing.T) {
4143}
4244
4345func TestJobQueue_Enqueue (t * testing.T ) {
46+ // Given
4447 queue := NewJobQueue ()
4548 job := NewJob ([]int64 {1 }, nil )
4649
50+ // When
4751 queue .Enqueue (job )
4852
53+ // Then
4954 if queue .Len () != 1 {
5055 t .Errorf ("Expected queue length to be 1 after enqueue, but got %d" , queue .Len ())
5156 }
5257}
5358
5459func TestJobQueue_Dequeue (t * testing.T ) {
60+ // Given
5561 queue := NewJobQueue ()
5662 job1 := NewJob ([]int64 {1 }, nil )
5763 job2 := NewJob ([]int64 {2 }, nil )
58-
5964 queue .Enqueue (job1 )
6065 queue .Enqueue (job2 )
6166
67+ // When
6268 dequeuedJob_1 := queue .Dequeue ()
6369
70+ // Then
6471 if dequeuedJob_1 != job1 {
6572 t .Errorf ("Expected first dequeued job to be job1, but got a different job" )
6673 }
67-
6874 if queue .Len () != 1 {
6975 t .Errorf ("Expected queue length to be 1 after dequeue, but got %d" , queue .Len ())
7076 }
7177
78+ // When
7279 dequeuedJob_2 := queue .Dequeue ()
7380
81+ // Then
7482 if dequeuedJob_2 != job2 {
7583 t .Errorf ("Expected dequeued job to be job2, but got a different job" )
7684 }
7785
86+ // When
7887 dequeuedJob_3 := queue .Dequeue ()
7988
89+ // Then
8090 if dequeuedJob_3 != nil {
8191 t .Errorf ("Expected dequeued job to be nil when queue is empty, but got a job" )
8292 }
8393}
8494
8595func TestJobQueue_IsEmpty (t * testing.T ) {
86- queue := NewJobQueue ()
87-
88- if ! queue .IsEmpty () {
89- t .Errorf ("Expected new queue to be empty, but it was not" )
90- }
91-
92- job := NewJob ([]int64 {1 }, nil )
93- queue .Enqueue (job )
94-
95- if queue .IsEmpty () {
96- t .Errorf ("Expected queue to not be empty after enqueue, but it was" )
97- }
96+ t .Run ("given new queue, when IsEmpty called, then returns true" , func (t * testing.T ) {
97+ // Given
98+ queue := NewJobQueue ()
99+
100+ // When
101+ result := queue .IsEmpty ()
102+
103+ // Then
104+ if ! result {
105+ t .Errorf ("Expected new queue to be empty, but it was not" )
106+ }
107+ })
108+
109+ t .Run ("given queue with one job, when IsEmpty called, then returns false" , func (t * testing.T ) {
110+ // Given
111+ queue := NewJobQueue ()
112+ job := NewJob ([]int64 {1 }, nil )
113+ queue .Enqueue (job )
114+
115+ // When
116+ result := queue .IsEmpty ()
117+
118+ // Then
119+ if result {
120+ t .Errorf ("Expected queue to not be empty after enqueue, but it was" )
121+ }
122+ })
98123}
99124
100125func TestJobQueue_Peek (t * testing.T ) {
101- queue := NewJobQueue ()
102- job := NewJob ([]int64 {1 }, nil )
103-
104- if queue .Peek () != nil {
105- t .Errorf ("Expected Peek to return nil for empty queue, but got a job" )
106- }
107-
108- queue .Enqueue (job )
109-
110- if queue .Peek () != job {
111- t .Errorf ("Expected Peek to return the enqueued job, but got a different job" )
112- }
126+ t .Run ("given empty queue, when Peek called, then returns nil" , func (t * testing.T ) {
127+ // Given
128+ queue := NewJobQueue ()
129+
130+ // When
131+ result := queue .Peek ()
132+
133+ // Then
134+ if result != nil {
135+ t .Errorf ("Expected Peek to return nil for empty queue, but got a job" )
136+ }
137+ })
138+
139+ t .Run ("given queue with one job, when Peek called, then returns the job without removing it" , func (t * testing.T ) {
140+ // Given
141+ queue := NewJobQueue ()
142+ job := NewJob ([]int64 {1 }, nil )
143+ queue .Enqueue (job )
144+
145+ // When
146+ result := queue .Peek ()
147+
148+ // Then
149+ if result != job {
150+ t .Errorf ("Expected Peek to return the enqueued job, but got a different job" )
151+ }
152+ })
113153}
114154
115155func TestJobQueue_Clear (t * testing.T ) {
156+ // Given
116157 queue := NewJobQueue ()
117158 job := NewJob ([]int64 {1 }, nil )
118-
119159 queue .Enqueue (job )
160+
161+ // When
120162 queue .Clear ()
121163
164+ // Then
122165 if ! queue .IsEmpty () {
123166 t .Errorf ("Expected queue to be empty after Clear, but it was not" )
124167 }
125-
126168 if queue .Len () != 0 {
127169 t .Errorf ("Expected queue length to be 0 after Clear, but got %d" , queue .Len ())
128170 }
0 commit comments