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))
	*/
}
