// Code generated by MockGen. DO NOT EDIT.
// Source: websocket.go
//
// Generated by this command:
//
//	mockgen -typed -source websocket.go -destination mock_websocket_for_test.go -package watch_aggregator
//

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

import (
	context "context"
	io "io"
	reflect "reflect"

	websocket "github.com/coder/websocket"
	gomock "go.uber.org/mock/gomock"
)

// MockWebSocketInterface is a mock of WebSocketInterface interface.
type MockWebSocketInterface struct {
	ctrl     *gomock.Controller
	recorder *MockWebSocketInterfaceMockRecorder
	isgomock struct{}
}

// MockWebSocketInterfaceMockRecorder is the mock recorder for MockWebSocketInterface.
type MockWebSocketInterfaceMockRecorder struct {
	mock *MockWebSocketInterface
}

// NewMockWebSocketInterface creates a new mock instance.
func NewMockWebSocketInterface(ctrl *gomock.Controller) *MockWebSocketInterface {
	mock := &MockWebSocketInterface{ctrl: ctrl}
	mock.recorder = &MockWebSocketInterfaceMockRecorder{mock}
	return mock
}

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

// Close mocks base method.
func (m *MockWebSocketInterface) Close(statusCode websocket.StatusCode, reason string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Close", statusCode, reason)
	ret0, _ := ret[0].(error)
	return ret0
}

// Close indicates an expected call of Close.
func (mr *MockWebSocketInterfaceMockRecorder) Close(statusCode, reason any) *MockWebSocketInterfaceCloseCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockWebSocketInterface)(nil).Close), statusCode, reason)
	return &MockWebSocketInterfaceCloseCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockWebSocketInterfaceCloseCall) Do(f func(websocket.StatusCode, string) error) *MockWebSocketInterfaceCloseCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockWebSocketInterfaceCloseCall) DoAndReturn(f func(websocket.StatusCode, string) error) *MockWebSocketInterfaceCloseCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Reader mocks base method.
func (m *MockWebSocketInterface) Reader(ctx context.Context) (websocket.MessageType, io.Reader, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Reader", ctx)
	ret0, _ := ret[0].(websocket.MessageType)
	ret1, _ := ret[1].(io.Reader)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Reader indicates an expected call of Reader.
func (mr *MockWebSocketInterfaceMockRecorder) Reader(ctx any) *MockWebSocketInterfaceReaderCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Reader", reflect.TypeOf((*MockWebSocketInterface)(nil).Reader), ctx)
	return &MockWebSocketInterfaceReaderCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockWebSocketInterfaceReaderCall) Return(arg0 websocket.MessageType, arg1 io.Reader, arg2 error) *MockWebSocketInterfaceReaderCall {
	c.Call = c.Call.Return(arg0, arg1, arg2)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockWebSocketInterfaceReaderCall) Do(f func(context.Context) (websocket.MessageType, io.Reader, error)) *MockWebSocketInterfaceReaderCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockWebSocketInterfaceReaderCall) DoAndReturn(f func(context.Context) (websocket.MessageType, io.Reader, error)) *MockWebSocketInterfaceReaderCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Writer mocks base method.
func (m *MockWebSocketInterface) Writer(ctx context.Context, typ websocket.MessageType) (io.WriteCloser, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Writer", ctx, typ)
	ret0, _ := ret[0].(io.WriteCloser)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Writer indicates an expected call of Writer.
func (mr *MockWebSocketInterfaceMockRecorder) Writer(ctx, typ any) *MockWebSocketInterfaceWriterCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Writer", reflect.TypeOf((*MockWebSocketInterface)(nil).Writer), ctx, typ)
	return &MockWebSocketInterfaceWriterCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockWebSocketInterfaceWriterCall) Return(arg0 io.WriteCloser, arg1 error) *MockWebSocketInterfaceWriterCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockWebSocketInterfaceWriterCall) Do(f func(context.Context, websocket.MessageType) (io.WriteCloser, error)) *MockWebSocketInterfaceWriterCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockWebSocketInterfaceWriterCall) DoAndReturn(f func(context.Context, websocket.MessageType) (io.WriteCloser, error)) *MockWebSocketInterfaceWriterCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
