github.com/ngicks/gokugen@v0.0.5/__mock/build_mock_shceduler.go (about)

     1  package mock_gokugen
     2  
     3  import (
     4  	"testing"
     5  
     6  	gomock "github.com/golang/mock/gomock"
     7  	scheduler "github.com/ngicks/gokugen/scheduler"
     8  )
     9  
    10  func BuildMockScheduler(t *testing.T) (ctrl *gomock.Controller, mockSched *MockScheduler, getTrappedTask func() *scheduler.Task) {
    11  	ctrl = gomock.NewController(t)
    12  	mockSched = NewMockScheduler(ctrl)
    13  
    14  	var trappedTask *scheduler.Task
    15  	getTrappedTask = func() *scheduler.Task {
    16  		return trappedTask
    17  	}
    18  	mockSched.
    19  		EXPECT().
    20  		Schedule(gomock.Any()).
    21  		DoAndReturn(func(task *scheduler.Task) (*scheduler.TaskController, error) {
    22  			trappedTask = task
    23  			return scheduler.NewTaskController(task), nil
    24  		}).
    25  		AnyTimes()
    26  
    27  	return
    28  }