// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/kardolus/chatgpt-cli/agent/core (interfaces: Policy)

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

import (
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	types "github.com/kardolus/chatgpt-cli/agent/types"
)

// MockPolicy is a mock of Policy interface.
type MockPolicy struct {
	ctrl     *gomock.Controller
	recorder *MockPolicyMockRecorder
}

// MockPolicyMockRecorder is the mock recorder for MockPolicy.
type MockPolicyMockRecorder struct {
	mock *MockPolicy
}

// NewMockPolicy creates a new mock instance.
func NewMockPolicy(ctrl *gomock.Controller) *MockPolicy {
	mock := &MockPolicy{ctrl: ctrl}
	mock.recorder = &MockPolicyMockRecorder{mock}
	return mock
}

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

// AllowStep mocks base method.
func (m *MockPolicy) AllowStep(arg0 types.Config, arg1 types.Step) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AllowStep", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

// AllowStep indicates an expected call of AllowStep.
func (mr *MockPolicyMockRecorder) AllowStep(arg0, arg1 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AllowStep", reflect.TypeOf((*MockPolicy)(nil).AllowStep), arg0, arg1)
}
