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

package npm_test

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

// Mock of Command interface
type MockCommand struct {
	ctrl     *gomock.Controller
	recorder *_MockCommandRecorder
}

// Recorder for MockCommand (not exported)
type _MockCommandRecorder struct {
	mock *MockCommand
}

func NewMockCommand(ctrl *gomock.Controller) *MockCommand {
	mock := &MockCommand{ctrl: ctrl}
	mock.recorder = &_MockCommandRecorder{mock}
	return mock
}

func (_m *MockCommand) EXPECT() *_MockCommandRecorder {
	return _m.recorder
}

func (_m *MockCommand) Execute(dir string, stdout io.Writer, stderr io.Writer, program string, args ...string) error {
	_s := []interface{}{dir, stdout, stderr, program}
	for _, _x := range args {
		_s = append(_s, _x)
	}
	ret := _m.ctrl.Call(_m, "Execute", _s...)
	ret0, _ := ret[0].(error)
	return ret0
}

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