// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/ydb-platform/ydb-go-sdk/v3/internal/topic/topicreadercommon (interfaces: RawTopicReaderStream)
//
// Generated by this command:
//
//	mockgen -write_generate_directive -destination raw_topic_reader_stream_mock_test.go --typed -package topicreaderinternal -write_package_comment=false github.com/ydb-platform/ydb-go-sdk/v3/internal/topic/topicreadercommon RawTopicReaderStream
package topicreaderinternal

import (
	reflect "reflect"

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

//go:generate mockgen -write_generate_directive -destination raw_topic_reader_stream_mock_test.go --typed -package topicreaderinternal -write_package_comment=false github.com/ydb-platform/ydb-go-sdk/v3/internal/topic/topicreadercommon RawTopicReaderStream

// MockRawTopicReaderStream is a mock of RawTopicReaderStream interface.
type MockRawTopicReaderStream struct {
	ctrl     *gomock.Controller
	recorder *MockRawTopicReaderStreamMockRecorder
}

// MockRawTopicReaderStreamMockRecorder is the mock recorder for MockRawTopicReaderStream.
type MockRawTopicReaderStreamMockRecorder struct {
	mock *MockRawTopicReaderStream
}

// NewMockRawTopicReaderStream creates a new mock instance.
func NewMockRawTopicReaderStream(ctrl *gomock.Controller) *MockRawTopicReaderStream {
	mock := &MockRawTopicReaderStream{ctrl: ctrl}
	mock.recorder = &MockRawTopicReaderStreamMockRecorder{mock}
	return mock
}

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

// CloseSend mocks base method.
func (m *MockRawTopicReaderStream) CloseSend() error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CloseSend")
	ret0, _ := ret[0].(error)
	return ret0
}

// CloseSend indicates an expected call of CloseSend.
func (mr *MockRawTopicReaderStreamMockRecorder) CloseSend() *MockRawTopicReaderStreamCloseSendCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseSend", reflect.TypeOf((*MockRawTopicReaderStream)(nil).CloseSend))
	return &MockRawTopicReaderStreamCloseSendCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockRawTopicReaderStreamCloseSendCall) Return(arg0 error) *MockRawTopicReaderStreamCloseSendCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockRawTopicReaderStreamCloseSendCall) Do(f func() error) *MockRawTopicReaderStreamCloseSendCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockRawTopicReaderStreamCloseSendCall) DoAndReturn(f func() error) *MockRawTopicReaderStreamCloseSendCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Recv mocks base method.
func (m *MockRawTopicReaderStream) Recv() (rawtopicreader.ServerMessage, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Recv")
	ret0, _ := ret[0].(rawtopicreader.ServerMessage)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Recv indicates an expected call of Recv.
func (mr *MockRawTopicReaderStreamMockRecorder) Recv() *MockRawTopicReaderStreamRecvCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Recv", reflect.TypeOf((*MockRawTopicReaderStream)(nil).Recv))
	return &MockRawTopicReaderStreamRecvCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockRawTopicReaderStreamRecvCall) Return(arg0 rawtopicreader.ServerMessage, arg1 error) *MockRawTopicReaderStreamRecvCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockRawTopicReaderStreamRecvCall) Do(f func() (rawtopicreader.ServerMessage, error)) *MockRawTopicReaderStreamRecvCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockRawTopicReaderStreamRecvCall) DoAndReturn(f func() (rawtopicreader.ServerMessage, error)) *MockRawTopicReaderStreamRecvCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Send mocks base method.
func (m *MockRawTopicReaderStream) Send(arg0 rawtopicreader.ClientMessage) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Send", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

// Send indicates an expected call of Send.
func (mr *MockRawTopicReaderStreamMockRecorder) Send(arg0 any) *MockRawTopicReaderStreamSendCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockRawTopicReaderStream)(nil).Send), arg0)
	return &MockRawTopicReaderStreamSendCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockRawTopicReaderStreamSendCall) Return(arg0 error) *MockRawTopicReaderStreamSendCall {
	c.Call = c.Call.Return(arg0)
	return c
}

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

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