// Code generated by MockGen. DO NOT EDIT.
// Source: gitlab.com/gitlab-org/cli/internal/git (interfaces: GitRunner)
//
// Generated by this command:
//
//	mockgen -typed -destination=./git_runner.go -package=testing gitlab.com/gitlab-org/cli/internal/git GitRunner
//

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

import (
	io "io"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockGitRunner is a mock of GitRunner interface.
type MockGitRunner struct {
	ctrl     *gomock.Controller
	recorder *MockGitRunnerMockRecorder
	isgomock struct{}
}

// MockGitRunnerMockRecorder is the mock recorder for MockGitRunner.
type MockGitRunnerMockRecorder struct {
	mock *MockGitRunner
}

// NewMockGitRunner creates a new mock instance.
func NewMockGitRunner(ctrl *gomock.Controller) *MockGitRunner {
	mock := &MockGitRunner{ctrl: ctrl}
	mock.recorder = &MockGitRunnerMockRecorder{mock}
	return mock
}

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

// Git mocks base method.
func (m *MockGitRunner) Git(args ...string) (string, error) {
	m.ctrl.T.Helper()
	varargs := []any{}
	for _, a := range args {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "Git", varargs...)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Git indicates an expected call of Git.
func (mr *MockGitRunnerMockRecorder) Git(args ...any) *MockGitRunnerGitCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Git", reflect.TypeOf((*MockGitRunner)(nil).Git), args...)
	return &MockGitRunnerGitCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockGitRunnerGitCall) Return(arg0 string, arg1 error) *MockGitRunnerGitCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

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

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

// GitWithIO mocks base method.
func (m *MockGitRunner) GitWithIO(stdout, stderr io.Writer, args ...string) error {
	m.ctrl.T.Helper()
	varargs := []any{stdout, stderr}
	for _, a := range args {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "GitWithIO", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// GitWithIO indicates an expected call of GitWithIO.
func (mr *MockGitRunnerMockRecorder) GitWithIO(stdout, stderr any, args ...any) *MockGitRunnerGitWithIOCall {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{stdout, stderr}, args...)
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GitWithIO", reflect.TypeOf((*MockGitRunner)(nil).GitWithIO), varargs...)
	return &MockGitRunnerGitWithIOCall{Call: call}
}

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

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

// Do rewrite *gomock.Call.Do
func (c *MockGitRunnerGitWithIOCall) Do(f func(io.Writer, io.Writer, ...string) error) *MockGitRunnerGitWithIOCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockGitRunnerGitWithIOCall) DoAndReturn(f func(io.Writer, io.Writer, ...string) error) *MockGitRunnerGitWithIOCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
