// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/uber/cadence/service/history/queuev2 (interfaces: VirtualSlice)
//
// Generated by this command:
//
//	mockgen -package queuev2 -destination virtual_slice_mock.go github.com/uber/cadence/service/history/queuev2 VirtualSlice
//

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

import (
	context "context"
	reflect "reflect"

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

	persistence "github.com/uber/cadence/common/persistence"
	task "github.com/uber/cadence/service/history/task"
)

// MockVirtualSlice is a mock of VirtualSlice interface.
type MockVirtualSlice struct {
	ctrl     *gomock.Controller
	recorder *MockVirtualSliceMockRecorder
	isgomock struct{}
}

// MockVirtualSliceMockRecorder is the mock recorder for MockVirtualSlice.
type MockVirtualSliceMockRecorder struct {
	mock *MockVirtualSlice
}

// NewMockVirtualSlice creates a new mock instance.
func NewMockVirtualSlice(ctrl *gomock.Controller) *MockVirtualSlice {
	mock := &MockVirtualSlice{ctrl: ctrl}
	mock.recorder = &MockVirtualSliceMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

// GetTasks mocks base method.
func (m *MockVirtualSlice) GetTasks(arg0 context.Context, arg1 int) ([]task.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTasks", arg0, arg1)
	ret0, _ := ret[0].([]task.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

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

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

// TryMergeWithVirtualSlice mocks base method.
func (m *MockVirtualSlice) TryMergeWithVirtualSlice(arg0 VirtualSlice) ([]VirtualSlice, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TryMergeWithVirtualSlice", arg0)
	ret0, _ := ret[0].([]VirtualSlice)
	ret1, _ := ret[1].(bool)
	return ret0, ret1
}

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

// TrySplitByPredicate mocks base method.
func (m *MockVirtualSlice) TrySplitByPredicate(arg0 Predicate) (VirtualSlice, VirtualSlice, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TrySplitByPredicate", arg0)
	ret0, _ := ret[0].(VirtualSlice)
	ret1, _ := ret[1].(VirtualSlice)
	ret2, _ := ret[2].(bool)
	return ret0, ret1, ret2
}

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

// TrySplitByTaskKey mocks base method.
func (m *MockVirtualSlice) TrySplitByTaskKey(arg0 persistence.HistoryTaskKey) (VirtualSlice, VirtualSlice, bool) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TrySplitByTaskKey", arg0)
	ret0, _ := ret[0].(VirtualSlice)
	ret1, _ := ret[1].(VirtualSlice)
	ret2, _ := ret[2].(bool)
	return ret0, ret1, ret2
}

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

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

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