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

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

import (
	reflect "reflect"
	time "time"

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

// MockVirtualQueue is a mock of VirtualQueue interface.
type MockVirtualQueue struct {
	ctrl     *gomock.Controller
	recorder *MockVirtualQueueMockRecorder
	isgomock struct{}
}

// MockVirtualQueueMockRecorder is the mock recorder for MockVirtualQueue.
type MockVirtualQueueMockRecorder struct {
	mock *MockVirtualQueue
}

// NewMockVirtualQueue creates a new mock instance.
func NewMockVirtualQueue(ctrl *gomock.Controller) *MockVirtualQueue {
	mock := &MockVirtualQueue{ctrl: ctrl}
	mock.recorder = &MockVirtualQueueMockRecorder{mock}
	return mock
}

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

// AppendSlices mocks base method.
func (m *MockVirtualQueue) AppendSlices(arg0 ...VirtualSlice) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range arg0 {
		varargs = append(varargs, a)
	}
	m.ctrl.Call(m, "AppendSlices", varargs...)
}

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

// ClearSlices mocks base method.
func (m *MockVirtualQueue) ClearSlices(arg0 func(VirtualSlice) bool) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "ClearSlices", arg0)
}

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

// GetState mocks base method.
func (m *MockVirtualQueue) 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 *MockVirtualQueueMockRecorder) GetState() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetState", reflect.TypeOf((*MockVirtualQueue)(nil).GetState))
}

// IterateSlices mocks base method.
func (m *MockVirtualQueue) IterateSlices(arg0 func(VirtualSlice)) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "IterateSlices", arg0)
}

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

// MergeSlices mocks base method.
func (m *MockVirtualQueue) MergeSlices(arg0 ...VirtualSlice) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range arg0 {
		varargs = append(varargs, a)
	}
	m.ctrl.Call(m, "MergeSlices", varargs...)
}

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

// MergeWithLastSlice mocks base method.
func (m *MockVirtualQueue) MergeWithLastSlice(arg0 VirtualSlice) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "MergeWithLastSlice", arg0)
}

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

// Pause mocks base method.
func (m *MockVirtualQueue) Pause(arg0 time.Duration) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Pause", arg0)
}

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

// SplitSlices mocks base method.
func (m *MockVirtualQueue) SplitSlices(arg0 func(VirtualSlice) ([]VirtualSlice, bool)) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SplitSlices", arg0)
}

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

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

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

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

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

// UpdateAndGetState mocks base method.
func (m *MockVirtualQueue) 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 *MockVirtualQueueMockRecorder) UpdateAndGetState() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAndGetState", reflect.TypeOf((*MockVirtualQueue)(nil).UpdateAndGetState))
}
