// Code generated by MockGen. DO NOT EDIT.
// Source: partition_worker.go
//
// Generated by this command:
//
//	mockgen -source partition_worker.go -destination partition_worker_mock_test.go --typed -package topiclistenerinternal -write_package_comment=false
package topiclistenerinternal

import (
	reflect "reflect"

	rawtopicreader "github.com/ydb-platform/ydb-go-sdk/v3/internal/grpcwrapper/rawtopic/rawtopicreader"
	gomock "go.uber.org/mock/gomock"
)

// MockMessageSender is a mock of MessageSender interface.
type MockMessageSender struct {
	ctrl     *gomock.Controller
	recorder *MockMessageSenderMockRecorder
}

// MockMessageSenderMockRecorder is the mock recorder for MockMessageSender.
type MockMessageSenderMockRecorder struct {
	mock *MockMessageSender
}

// NewMockMessageSender creates a new mock instance.
func NewMockMessageSender(ctrl *gomock.Controller) *MockMessageSender {
	mock := &MockMessageSender{ctrl: ctrl}
	mock.recorder = &MockMessageSenderMockRecorder{mock}
	return mock
}

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

// SendRaw mocks base method.
func (m *MockMessageSender) SendRaw(msg rawtopicreader.ClientMessage) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SendRaw", msg)
}

// SendRaw indicates an expected call of SendRaw.
func (mr *MockMessageSenderMockRecorder) SendRaw(msg any) *MockMessageSenderSendRawCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendRaw", reflect.TypeOf((*MockMessageSender)(nil).SendRaw), msg)
	return &MockMessageSenderSendRawCall{Call: call}
}

// MockMessageSenderSendRawCall wrap *gomock.Call
type MockMessageSenderSendRawCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockMessageSenderSendRawCall) Return() *MockMessageSenderSendRawCall {
	c.Call = c.Call.Return()
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockMessageSenderSendRawCall) Do(f func(rawtopicreader.ClientMessage)) *MockMessageSenderSendRawCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockMessageSenderSendRawCall) DoAndReturn(f func(rawtopicreader.ClientMessage)) *MockMessageSenderSendRawCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
