// Automatically generated by MockGen. DO NOT EDIT!
// Source: tracker.go

package state

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

// Mock of Tracker interface
type MockTracker struct {
	ctrl     *gomock.Controller
	recorder *_MockTrackerRecorder
}

// Recorder for MockTracker (not exported)
type _MockTrackerRecorder struct {
	mock *MockTracker
}

func NewMockTracker(ctrl *gomock.Controller) *MockTracker {
	mock := &MockTracker{ctrl: ctrl}
	mock.recorder = &_MockTrackerRecorder{mock}
	return mock
}

func (_m *MockTracker) EXPECT() *_MockTrackerRecorder {
	return _m.recorder
}

func (_m *MockTracker) NewNick(nick string) *Nick {
	ret := _m.ctrl.Call(_m, "NewNick", nick)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) NewNick(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "NewNick", arg0)
}

func (_m *MockTracker) GetNick(nick string) *Nick {
	ret := _m.ctrl.Call(_m, "GetNick", nick)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) GetNick(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "GetNick", arg0)
}

func (_m *MockTracker) ReNick(old string, neu string) *Nick {
	ret := _m.ctrl.Call(_m, "ReNick", old, neu)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) ReNick(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "ReNick", arg0, arg1)
}

func (_m *MockTracker) DelNick(nick string) *Nick {
	ret := _m.ctrl.Call(_m, "DelNick", nick)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) DelNick(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "DelNick", arg0)
}

func (_m *MockTracker) NickInfo(nick string, ident string, host string, name string) *Nick {
	ret := _m.ctrl.Call(_m, "NickInfo", nick, ident, host, name)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) NickInfo(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "NickInfo", arg0, arg1, arg2, arg3)
}

func (_m *MockTracker) NickModes(nick string, modestr string) *Nick {
	ret := _m.ctrl.Call(_m, "NickModes", nick, modestr)
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) NickModes(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "NickModes", arg0, arg1)
}

func (_m *MockTracker) NewChannel(channel string) *Channel {
	ret := _m.ctrl.Call(_m, "NewChannel", channel)
	ret0, _ := ret[0].(*Channel)
	return ret0
}

func (_mr *_MockTrackerRecorder) NewChannel(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "NewChannel", arg0)
}

func (_m *MockTracker) GetChannel(channel string) *Channel {
	ret := _m.ctrl.Call(_m, "GetChannel", channel)
	ret0, _ := ret[0].(*Channel)
	return ret0
}

func (_mr *_MockTrackerRecorder) GetChannel(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "GetChannel", arg0)
}

func (_m *MockTracker) DelChannel(channel string) *Channel {
	ret := _m.ctrl.Call(_m, "DelChannel", channel)
	ret0, _ := ret[0].(*Channel)
	return ret0
}

func (_mr *_MockTrackerRecorder) DelChannel(arg0 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "DelChannel", arg0)
}

func (_m *MockTracker) Topic(channel string, topic string) *Channel {
	ret := _m.ctrl.Call(_m, "Topic", channel, topic)
	ret0, _ := ret[0].(*Channel)
	return ret0
}

func (_mr *_MockTrackerRecorder) Topic(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Topic", arg0, arg1)
}

func (_m *MockTracker) ChannelModes(channel string, modestr string, modeargs ...string) *Channel {
	_s := []interface{}{channel, modestr}
	for _, _x := range modeargs {
		_s = append(_s, _x)
	}
	ret := _m.ctrl.Call(_m, "ChannelModes", _s...)
	ret0, _ := ret[0].(*Channel)
	return ret0
}

func (_mr *_MockTrackerRecorder) ChannelModes(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call {
	_s := append([]interface{}{arg0, arg1}, arg2...)
	return _mr.mock.ctrl.RecordCall(_mr.mock, "ChannelModes", _s...)
}

func (_m *MockTracker) Me() *Nick {
	ret := _m.ctrl.Call(_m, "Me")
	ret0, _ := ret[0].(*Nick)
	return ret0
}

func (_mr *_MockTrackerRecorder) Me() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Me")
}

func (_m *MockTracker) IsOn(channel string, nick string) (*ChanPrivs, bool) {
	ret := _m.ctrl.Call(_m, "IsOn", channel, nick)
	ret0, _ := ret[0].(*ChanPrivs)
	ret1, _ := ret[1].(bool)
	return ret0, ret1
}

func (_mr *_MockTrackerRecorder) IsOn(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "IsOn", arg0, arg1)
}

func (_m *MockTracker) Associate(channel string, nick string) *ChanPrivs {
	ret := _m.ctrl.Call(_m, "Associate", channel, nick)
	ret0, _ := ret[0].(*ChanPrivs)
	return ret0
}

func (_mr *_MockTrackerRecorder) Associate(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Associate", arg0, arg1)
}

func (_m *MockTracker) Dissociate(channel string, nick string) {
	_m.ctrl.Call(_m, "Dissociate", channel, nick)
}

func (_mr *_MockTrackerRecorder) Dissociate(arg0, arg1 interface{}) *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Dissociate", arg0, arg1)
}

func (_m *MockTracker) Wipe() {
	_m.ctrl.Call(_m, "Wipe")
}

func (_mr *_MockTrackerRecorder) Wipe() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "Wipe")
}

func (_m *MockTracker) String() string {
	ret := _m.ctrl.Call(_m, "String")
	ret0, _ := ret[0].(string)
	return ret0
}

func (_mr *_MockTrackerRecorder) String() *gomock.Call {
	return _mr.mock.ctrl.RecordCall(_mr.mock, "String")
}
