diff --git a/lib/transaction/priority_queue_test.go b/lib/transaction/priority_queue_test.go index 7e636f6aba0..f61093993e4 100644 --- a/lib/transaction/priority_queue_test.go +++ b/lib/transaction/priority_queue_test.go @@ -278,20 +278,38 @@ func TestPopChannel(t *testing.T) { slotTimer := time.NewTimer(time.Second) popChan := pq.PopChannel(slotTimer) + tests := []*ValidTransaction{ + { + Extrinsic: []byte("a"), + Validity: &Validity{Priority: 1}, + }, + { + Extrinsic: []byte("b"), + Validity: &Validity{Priority: 4}, + }, + { + Extrinsic: []byte("c"), + Validity: &Validity{Priority: 2}, + }, + { + Extrinsic: []byte("d"), + Validity: &Validity{Priority: 17}, + }, + { + Extrinsic: []byte("e"), + Validity: &Validity{Priority: 2}, + }, + } - go func() { - counter := 0 - for { - time.Sleep(time.Millisecond * 100) - pq.Push(&ValidTransaction{Validity: &Validity{Priority: uint64(counter)}}) - counter++ - } - }() + expected := []int{3, 1, 2, 4, 0} + + for _, test := range tests { + pq.Push(test) + } counter := 0 for txn := range popChan { - assert.Equal(t, uint64(counter), txn.Validity.Priority) + assert.Equal(t, tests[expected[counter]], txn) counter++ } - assert.Equal(t, 9, counter) }