func (_m *Repositories) CompareCommits(_a0 context.Context, _a1 string, _a2 string, _a3 string, _a4 string) (*github.CommitsComparison, *github.Response, error) {
	ret := _m.Called(_a0, _a1, _a2, _a3, _a4)
	var r0 *github.CommitsComparison
	if rf, ok := ret.Get(0).(func(context.Context, string, string, string, string) *github.CommitsComparison); ok {
		r0 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*github.CommitsComparison)
		}
	}
	var r1 *github.Response
	if rf, ok := ret.Get(1).(func(context.Context, string, string, string, string) *github.Response); ok {
		r1 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*github.Response)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, string, string, string, string) error); ok {
		r2 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}
CompareCommits provides a mock function with given fields: _a0, _a1, _a2, _a3, _a4
package mocks
import (
	context "context"
	github "github.com/google/go-github/v35/github"
	http "net/http"
	io "io"
	mock "github.com/stretchr/testify/mock"
	os "os"
	url "net/url"
)
type Repositories struct {
	mock.Mock
}
func (_m *Repositories) AddAdminEnforcement(_a0 context.Context, _a1 string, _a2 string, _a3 string) (*github.AdminEnforcement, *github.Response, error) {
	ret := _m.Called(_a0, _a1, _a2, _a3)
	var r0 *github.AdminEnforcement
	if rf, ok := ret.Get(0).(func(context.Context, string, string, string) *github.AdminEnforcement); ok {
		r0 = rf(_a0, _a1, _a2, _a3)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*github.AdminEnforcement)
		}
	}
	var r1 *github.Response
	if rf, ok := ret.Get(1).(func(context.Context, string, string, string) *github.Response); ok {
		r1 = rf(_a0, _a1, _a2, _a3)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*github.Response)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, string, string, string) error); ok {
		r2 = rf(_a0, _a1, _a2, _a3)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}
func (_m *Repositories) AddAppRestrictions(_a0 context.Context, _a1 string, _a2 string, _a3 string, _a4 []string) ([]*github.App, *github.Response, error) {
	ret := _m.Called(_a0, _a1, _a2, _a3, _a4)
	var r0 []*github.App
	if rf, ok := ret.Get(0).(func(context.Context, string, string, string, []string) []*github.App); ok {
		r0 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]*github.App)
		}
	}
	var r1 *github.Response
	if rf, ok := ret.Get(1).(func(context.Context, string, string, string, []string) *github.Response); ok {
		r1 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*github.Response)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, string, string, string, []string) error); ok {
		r2 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}
func (_m *Repositories) AddCollaborator(_a0 context.Context, _a1 string, _a2 string, _a3 string, _a4 *github.RepositoryAddCollaboratorOptions) (*github.CollaboratorInvitation, *github.Response, error) {
	ret := _m.Called(_a0, _a1, _a2, _a3, _a4)
	var r0 *github.CollaboratorInvitation
	if rf, ok := ret.Get(0).(func(context.Context, string, string, string, *github.RepositoryAddCollaboratorOptions) *github.CollaboratorInvitation); ok {
		r0 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*github.CollaboratorInvitation)
		}
	}
	var r1 *github.Response
	if rf, ok := ret.Get(1).(func(context.Context, string, string, string, *github.RepositoryAddCollaboratorOptions) *github.Response); ok {
		r1 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		if ret.Get(1) != nil {
			r1 = ret.Get(1).(*github.Response)
		}
	}
	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, string, string, string, *github.RepositoryAddCollaboratorOptions) error); ok {
		r2 = rf(_a0, _a1, _a2, _a3, _a4)
	} else {
		r2 = ret.Error(2)
	}
	return r0, r1, r2
}