| package queue | |
| import ( | |
| "testing" | |
| "time" | |
| "gotest.tools/v3/assert" | |
| ) | |
| func TestSerialization(t *testing.T) { | |
| var ( | |
| q Queue | |
| serialization = 1 | |
| ) | |
| q.Append("aaa", func() { | |
| // simulate a long time task | |
| time.Sleep(10 * time.Millisecond) | |
| assert.Equal(t, serialization, 1) | |
| serialization = 2 | |
| }) | |
| q.Append("aaa", func() { | |
| assert.Equal(t, serialization, 2) | |
| serialization = 3 | |
| }) | |
| q.Append("aaa", func() { | |
| assert.Equal(t, serialization, 3) | |
| serialization = 4 | |
| }) | |
| time.Sleep(20 * time.Millisecond) | |
| } |