package batch import ( "testing" ) /* Submits 10 jobs into a pool that supports 2 simultaneous jobs, and tests that only two of the jobs ran at a time by capturing the time that they ran and comparing against the start time. */ func TestBatchPool(t *testing.T) { /* pool := New(2) var times []time.Time for i := 0; i <= 10; i++ { pool.Submit(func() { times = append(times, time.Now()) time.Sleep(1 * time.Second) }) } startTime := time.Now() pool.Run() assert.Equal(t, 0 * time.Second, times[0].Sub(startTime).Round(time.Second)) assert.Equal(t, 0 * time.Second, times[1].Sub(startTime).Round(time.Second)) assert.Equal(t, 1 * time.Second, times[2].Sub(startTime).Round(time.Second)) assert.Equal(t, 1 * time.Second, times[3].Sub(startTime).Round(time.Second)) assert.Equal(t, 2 * time.Second, times[4].Sub(startTime).Round(time.Second)) assert.Equal(t, 2 * time.Second, times[5].Sub(startTime).Round(time.Second)) assert.Equal(t, 3 * time.Second, times[6].Sub(startTime).Round(time.Second)) assert.Equal(t, 3 * time.Second, times[7].Sub(startTime).Round(time.Second)) assert.Equal(t, 4 * time.Second, times[8].Sub(startTime).Round(time.Second)) assert.Equal(t, 4 * time.Second, times[9].Sub(startTime).Round(time.Second)) */ }