// Code generated by MockGen. DO NOT EDIT.
// Source: iterator.go

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

import (
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	iterator "pkg.world.dev/world-engine/cardinal/router/iterator"
)

// MockIterator is a mock of Iterator interface.
type MockIterator struct {
	ctrl     *gomock.Controller
	recorder *MockIteratorMockRecorder
}

// MockIteratorMockRecorder is the mock recorder for MockIterator.
type MockIteratorMockRecorder struct {
	mock *MockIterator
}

// NewMockIterator creates a new mock instance.
func NewMockIterator(ctrl *gomock.Controller) *MockIterator {
	mock := &MockIterator{ctrl: ctrl}
	mock.recorder = &MockIteratorMockRecorder{mock}
	return mock
}

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

// Each mocks base method.
func (m *MockIterator) Each(fn func([]*iterator.TxBatch, uint64, uint64) error, ranges ...uint64) error {
	m.ctrl.T.Helper()
	varargs := []interface{}{fn}
	for _, a := range ranges {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Each", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// Each indicates an expected call of Each.
func (mr *MockIteratorMockRecorder) Each(fn interface{}, ranges ...interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]interface{}{fn}, ranges...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Each", reflect.TypeOf((*MockIterator)(nil).Each), varargs...)
}
