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 }