// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/base-org/pessimism/internal/engine/heuristic (interfaces: Heuristic)

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

import (
	reflect "reflect"

	core "github.com/base-org/pessimism/internal/core"
	heuristic "github.com/base-org/pessimism/internal/engine/heuristic"
	gomock "github.com/golang/mock/gomock"
)

// MockHeuristic is a mock of Heuristic interface.
type MockHeuristic struct {
	ctrl     *gomock.Controller
	recorder *MockHeuristicMockRecorder
}

// MockHeuristicMockRecorder is the mock recorder for MockHeuristic.
type MockHeuristicMockRecorder struct {
	mock *MockHeuristic
}

// NewMockHeuristic creates a new mock instance.
func NewMockHeuristic(ctrl *gomock.Controller) *MockHeuristic {
	mock := &MockHeuristic{ctrl: ctrl}
	mock.recorder = &MockHeuristicMockRecorder{mock}
	return mock
}

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

// Assess mocks base method.
func (m *MockHeuristic) Assess(arg0 core.Event) (*heuristic.ActivationSet, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Assess", arg0)
	ret0, _ := ret[0].(*heuristic.ActivationSet)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ID mocks base method.
func (m *MockHeuristic) ID() core.UUID {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ID")
	ret0, _ := ret[0].(core.UUID)
	return ret0
}

// ID indicates an expected call of ID.
func (mr *MockHeuristicMockRecorder) ID() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ID", reflect.TypeOf((*MockHeuristic)(nil).ID))
}

// SetID mocks base method.
func (m *MockHeuristic) SetID(arg0 core.UUID) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetID", arg0)
}

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

// TopicType mocks base method.
func (m *MockHeuristic) TopicType() core.TopicType {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "TopicType")
	ret0, _ := ret[0].(core.TopicType)
	return ret0
}

// TopicType indicates an expected call of TopicType.
func (mr *MockHeuristicMockRecorder) TopicType() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TopicType", reflect.TypeOf((*MockHeuristic)(nil).TopicType))
}

// Type mocks base method.
func (m *MockHeuristic) Type() core.HeuristicType {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Type")
	ret0, _ := ret[0].(core.HeuristicType)
	return ret0
}

// Type indicates an expected call of Type.
func (mr *MockHeuristicMockRecorder) Type() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Type", reflect.TypeOf((*MockHeuristic)(nil).Type))
}

// Validate mocks base method.
func (m *MockHeuristic) Validate(arg0 core.Event) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Validate", arg0)
	ret0, _ := ret[0].(error)
	return ret0
}

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