// Code generated by MockGen. DO NOT EDIT.
// Source: controller.go
//
// Generated by this command:
//
//	mockgen -package shard -source controller.go -destination controller_mock.go -self_package github.com/uber/cadence/service/history/shard
//

// Package shard is a generated GoMock package.
package shard

import (
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"

	engine "github.com/uber/cadence/service/history/engine"
)

// MockEngineFactory is a mock of EngineFactory interface.
type MockEngineFactory struct {
	ctrl     *gomock.Controller
	recorder *MockEngineFactoryMockRecorder
	isgomock struct{}
}

// MockEngineFactoryMockRecorder is the mock recorder for MockEngineFactory.
type MockEngineFactoryMockRecorder struct {
	mock *MockEngineFactory
}

// NewMockEngineFactory creates a new mock instance.
func NewMockEngineFactory(ctrl *gomock.Controller) *MockEngineFactory {
	mock := &MockEngineFactory{ctrl: ctrl}
	mock.recorder = &MockEngineFactoryMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockEngineFactory) EXPECT() *MockEngineFactoryMockRecorder {
	return m.recorder
}

// CreateEngine mocks base method.
func (m *MockEngineFactory) CreateEngine(arg0 Context) engine.Engine {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateEngine", arg0)
	ret0, _ := ret[0].(engine.Engine)
	return ret0
}

// CreateEngine indicates an expected call of CreateEngine.
func (mr *MockEngineFactoryMockRecorder) CreateEngine(arg0 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateEngine", reflect.TypeOf((*MockEngineFactory)(nil).CreateEngine), arg0)
}

// MockController is a mock of Controller interface.
type MockController struct {
	ctrl     *gomock.Controller
	recorder *MockControllerMockRecorder
	isgomock struct{}
}

// MockControllerMockRecorder is the mock recorder for MockController.
type MockControllerMockRecorder struct {
	mock *MockController
}

// NewMockController creates a new mock instance.
func NewMockController(ctrl *gomock.Controller) *MockController {
	mock := &MockController{ctrl: ctrl}
	mock.recorder = &MockControllerMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockController) EXPECT() *MockControllerMockRecorder {
	return m.recorder
}

// GetEngine mocks base method.
func (m *MockController) GetEngine(workflowID string) (engine.Engine, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetEngine", workflowID)
	ret0, _ := ret[0].(engine.Engine)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetEngine indicates an expected call of GetEngine.
func (mr *MockControllerMockRecorder) GetEngine(workflowID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEngine", reflect.TypeOf((*MockController)(nil).GetEngine), workflowID)
}

// GetEngineForShard mocks base method.
func (m *MockController) GetEngineForShard(shardID int) (engine.Engine, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetEngineForShard", shardID)
	ret0, _ := ret[0].(engine.Engine)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetEngineForShard indicates an expected call of GetEngineForShard.
func (mr *MockControllerMockRecorder) GetEngineForShard(shardID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEngineForShard", reflect.TypeOf((*MockController)(nil).GetEngineForShard), shardID)
}

// NumShards mocks base method.
func (m *MockController) NumShards() int {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NumShards")
	ret0, _ := ret[0].(int)
	return ret0
}

// NumShards indicates an expected call of NumShards.
func (mr *MockControllerMockRecorder) NumShards() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NumShards", reflect.TypeOf((*MockController)(nil).NumShards))
}

// PrepareToStop mocks base method.
func (m *MockController) PrepareToStop() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "PrepareToStop")
}

// PrepareToStop indicates an expected call of PrepareToStop.
func (mr *MockControllerMockRecorder) PrepareToStop() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PrepareToStop", reflect.TypeOf((*MockController)(nil).PrepareToStop))
}

// RemoveEngineForShard mocks base method.
func (m *MockController) RemoveEngineForShard(shardID int) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "RemoveEngineForShard", shardID)
}

// RemoveEngineForShard indicates an expected call of RemoveEngineForShard.
func (mr *MockControllerMockRecorder) RemoveEngineForShard(shardID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveEngineForShard", reflect.TypeOf((*MockController)(nil).RemoveEngineForShard), shardID)
}

// ShardIDs mocks base method.
func (m *MockController) ShardIDs() []int32 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShardIDs")
	ret0, _ := ret[0].([]int32)
	return ret0
}

// ShardIDs indicates an expected call of ShardIDs.
func (mr *MockControllerMockRecorder) ShardIDs() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShardIDs", reflect.TypeOf((*MockController)(nil).ShardIDs))
}

// Start mocks base method.
func (m *MockController) Start() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Start")
}

// Start indicates an expected call of Start.
func (mr *MockControllerMockRecorder) Start() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockController)(nil).Start))
}

// Status mocks base method.
func (m *MockController) Status() int32 {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Status")
	ret0, _ := ret[0].(int32)
	return ret0
}

// Status indicates an expected call of Status.
func (mr *MockControllerMockRecorder) Status() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Status", reflect.TypeOf((*MockController)(nil).Status))
}

// Stop mocks base method.
func (m *MockController) Stop() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Stop")
}

// Stop indicates an expected call of Stop.
func (mr *MockControllerMockRecorder) Stop() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockController)(nil).Stop))
}
