/*
 * Copyright 2022 CloudWeGo Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/


// Code generated by MockGen. DO NOT EDIT.
// Source: ../../pkg/generic/generic_service.go

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

import (
	context "context"
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
)

// MockService is a mock of Service interface.
type MockService struct {
	ctrl     *gomock.Controller
	recorder *MockServiceMockRecorder
}

// MockServiceMockRecorder is the mock recorder for MockService.
type MockServiceMockRecorder struct {
	mock *MockService
}

// NewMockService creates a new mock instance.
func NewMockService(ctrl *gomock.Controller) *MockService {
	mock := &MockService{ctrl: ctrl}
	mock.recorder = &MockServiceMockRecorder{mock}
	return mock
}

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

// GenericCall mocks base method.
func (m *MockService) GenericCall(ctx context.Context, method string, request interface{}) (interface{}, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GenericCall", ctx, method, request)
	ret0, _ := ret[0].(interface{})
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GenericCall indicates an expected call of GenericCall.
func (mr *MockServiceMockRecorder) GenericCall(ctx, method, request interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GenericCall", reflect.TypeOf((*MockService)(nil).GenericCall), ctx, method, request)
}

// MockWithCodec is a mock of WithCodec interface.
type MockWithCodec struct {
	ctrl     *gomock.Controller
	recorder *MockWithCodecMockRecorder
}

// MockWithCodecMockRecorder is the mock recorder for MockWithCodec.
type MockWithCodecMockRecorder struct {
	mock *MockWithCodec
}

// NewMockWithCodec creates a new mock instance.
func NewMockWithCodec(ctrl *gomock.Controller) *MockWithCodec {
	mock := &MockWithCodec{ctrl: ctrl}
	mock.recorder = &MockWithCodecMockRecorder{mock}
	return mock
}

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

// SetCodec mocks base method.
func (m *MockWithCodec) SetCodec(codec interface{}) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetCodec", codec)
}

// SetCodec indicates an expected call of SetCodec.
func (mr *MockWithCodecMockRecorder) SetCodec(codec interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetCodec", reflect.TypeOf((*MockWithCodec)(nil).SetCodec), codec)
}
