// Code generated by mockery v2.53.3. DO NOT EDIT.

package log

import mock "github.com/stretchr/testify/mock"

// mockSystemLogger is an autogenerated mock type for the systemLogger type
type mockSystemLogger struct {
	mock.Mock
}

type mockSystemLogger_Expecter struct {
	mock *mock.Mock
}

func (_m *mockSystemLogger) EXPECT() *mockSystemLogger_Expecter {
	return &mockSystemLogger_Expecter{mock: &_m.Mock}
}

// Error provides a mock function with given fields: v
func (_m *mockSystemLogger) Error(v ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, v...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Error")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(...interface{}) error); ok {
		r0 = rf(v...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Error_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Error'
type mockSystemLogger_Error_Call struct {
	*mock.Call
}

// Error is a helper method to define mock.On call
//   - v ...interface{}
func (_e *mockSystemLogger_Expecter) Error(v ...interface{}) *mockSystemLogger_Error_Call {
	return &mockSystemLogger_Error_Call{Call: _e.mock.On("Error",
		append([]interface{}{}, v...)...)}
}

func (_c *mockSystemLogger_Error_Call) Run(run func(v ...interface{})) *mockSystemLogger_Error_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-0)
		for i, a := range args[0:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Error_Call) Return(_a0 error) *mockSystemLogger_Error_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Error_Call) RunAndReturn(run func(...interface{}) error) *mockSystemLogger_Error_Call {
	_c.Call.Return(run)
	return _c
}

// Errorf provides a mock function with given fields: format, a
func (_m *mockSystemLogger) Errorf(format string, a ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, format)
	_ca = append(_ca, a...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Errorf")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, ...interface{}) error); ok {
		r0 = rf(format, a...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Errorf_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Errorf'
type mockSystemLogger_Errorf_Call struct {
	*mock.Call
}

// Errorf is a helper method to define mock.On call
//   - format string
//   - a ...interface{}
func (_e *mockSystemLogger_Expecter) Errorf(format interface{}, a ...interface{}) *mockSystemLogger_Errorf_Call {
	return &mockSystemLogger_Errorf_Call{Call: _e.mock.On("Errorf",
		append([]interface{}{format}, a...)...)}
}

func (_c *mockSystemLogger_Errorf_Call) Run(run func(format string, a ...interface{})) *mockSystemLogger_Errorf_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(args[0].(string), variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Errorf_Call) Return(_a0 error) *mockSystemLogger_Errorf_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Errorf_Call) RunAndReturn(run func(string, ...interface{}) error) *mockSystemLogger_Errorf_Call {
	_c.Call.Return(run)
	return _c
}

// Info provides a mock function with given fields: v
func (_m *mockSystemLogger) Info(v ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, v...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Info")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(...interface{}) error); ok {
		r0 = rf(v...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Info_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Info'
type mockSystemLogger_Info_Call struct {
	*mock.Call
}

// Info is a helper method to define mock.On call
//   - v ...interface{}
func (_e *mockSystemLogger_Expecter) Info(v ...interface{}) *mockSystemLogger_Info_Call {
	return &mockSystemLogger_Info_Call{Call: _e.mock.On("Info",
		append([]interface{}{}, v...)...)}
}

func (_c *mockSystemLogger_Info_Call) Run(run func(v ...interface{})) *mockSystemLogger_Info_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-0)
		for i, a := range args[0:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Info_Call) Return(_a0 error) *mockSystemLogger_Info_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Info_Call) RunAndReturn(run func(...interface{}) error) *mockSystemLogger_Info_Call {
	_c.Call.Return(run)
	return _c
}

// Infof provides a mock function with given fields: format, a
func (_m *mockSystemLogger) Infof(format string, a ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, format)
	_ca = append(_ca, a...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Infof")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, ...interface{}) error); ok {
		r0 = rf(format, a...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Infof_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Infof'
type mockSystemLogger_Infof_Call struct {
	*mock.Call
}

// Infof is a helper method to define mock.On call
//   - format string
//   - a ...interface{}
func (_e *mockSystemLogger_Expecter) Infof(format interface{}, a ...interface{}) *mockSystemLogger_Infof_Call {
	return &mockSystemLogger_Infof_Call{Call: _e.mock.On("Infof",
		append([]interface{}{format}, a...)...)}
}

func (_c *mockSystemLogger_Infof_Call) Run(run func(format string, a ...interface{})) *mockSystemLogger_Infof_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(args[0].(string), variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Infof_Call) Return(_a0 error) *mockSystemLogger_Infof_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Infof_Call) RunAndReturn(run func(string, ...interface{}) error) *mockSystemLogger_Infof_Call {
	_c.Call.Return(run)
	return _c
}

// Warning provides a mock function with given fields: v
func (_m *mockSystemLogger) Warning(v ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, v...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Warning")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(...interface{}) error); ok {
		r0 = rf(v...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Warning_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Warning'
type mockSystemLogger_Warning_Call struct {
	*mock.Call
}

// Warning is a helper method to define mock.On call
//   - v ...interface{}
func (_e *mockSystemLogger_Expecter) Warning(v ...interface{}) *mockSystemLogger_Warning_Call {
	return &mockSystemLogger_Warning_Call{Call: _e.mock.On("Warning",
		append([]interface{}{}, v...)...)}
}

func (_c *mockSystemLogger_Warning_Call) Run(run func(v ...interface{})) *mockSystemLogger_Warning_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-0)
		for i, a := range args[0:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Warning_Call) Return(_a0 error) *mockSystemLogger_Warning_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Warning_Call) RunAndReturn(run func(...interface{}) error) *mockSystemLogger_Warning_Call {
	_c.Call.Return(run)
	return _c
}

// Warningf provides a mock function with given fields: format, a
func (_m *mockSystemLogger) Warningf(format string, a ...interface{}) error {
	var _ca []interface{}
	_ca = append(_ca, format)
	_ca = append(_ca, a...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for Warningf")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(string, ...interface{}) error); ok {
		r0 = rf(format, a...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// mockSystemLogger_Warningf_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Warningf'
type mockSystemLogger_Warningf_Call struct {
	*mock.Call
}

// Warningf is a helper method to define mock.On call
//   - format string
//   - a ...interface{}
func (_e *mockSystemLogger_Expecter) Warningf(format interface{}, a ...interface{}) *mockSystemLogger_Warningf_Call {
	return &mockSystemLogger_Warningf_Call{Call: _e.mock.On("Warningf",
		append([]interface{}{format}, a...)...)}
}

func (_c *mockSystemLogger_Warningf_Call) Run(run func(format string, a ...interface{})) *mockSystemLogger_Warningf_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]interface{}, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(interface{})
			}
		}
		run(args[0].(string), variadicArgs...)
	})
	return _c
}

func (_c *mockSystemLogger_Warningf_Call) Return(_a0 error) *mockSystemLogger_Warningf_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *mockSystemLogger_Warningf_Call) RunAndReturn(run func(string, ...interface{}) error) *mockSystemLogger_Warningf_Call {
	_c.Call.Return(run)
	return _c
}

// newMockSystemLogger creates a new instance of mockSystemLogger. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func newMockSystemLogger(t interface {
	mock.TestingT
	Cleanup(func())
}) *mockSystemLogger {
	mock := &mockSystemLogger{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
