// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/influxdata/idpe/influxql/query (interfaces: StatementExecutor)

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	query "github.com/influxdata/influxdb/v2/influxql/query"
	influxql "github.com/influxdata/influxql"
)

// MockStatementExecutor is a mock of StatementExecutor interface
type MockStatementExecutor struct {
	ctrl     *gomock.Controller
	recorder *MockStatementExecutorMockRecorder
}

// MockStatementExecutorMockRecorder is the mock recorder for MockStatementExecutor
type MockStatementExecutorMockRecorder struct {
	mock *MockStatementExecutor
}

// NewMockStatementExecutor creates a new mock instance
func NewMockStatementExecutor(ctrl *gomock.Controller) *MockStatementExecutor {
	mock := &MockStatementExecutor{ctrl: ctrl}
	mock.recorder = &MockStatementExecutorMockRecorder{mock}
	return mock
}

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

// ExecuteStatement mocks base method
func (m *MockStatementExecutor) ExecuteStatement(arg0 context.Context, arg1 influxql.Statement, arg2 *query.ExecutionContext) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExecuteStatement", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

// ExecuteStatement indicates an expected call of ExecuteStatement
func (mr *MockStatementExecutorMockRecorder) ExecuteStatement(arg0, arg1, arg2 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteStatement", reflect.TypeOf((*MockStatementExecutor)(nil).ExecuteStatement), arg0, arg1, arg2)
}
