// Code generated by MockGen. DO NOT EDIT.
// Source: type.go
//
// Generated by this command:
//
//	mockgen --source type.go --destination mocks.go --package bidstrategy
//

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

import (
	context "context"
	reflect "reflect"

	models "github.com/bacalhau-project/bacalhau/pkg/models"
	gomock "go.uber.org/mock/gomock"
)

// MockBidStrategy is a mock of BidStrategy interface.
type MockBidStrategy struct {
	ctrl     *gomock.Controller
	recorder *MockBidStrategyMockRecorder
}

// MockBidStrategyMockRecorder is the mock recorder for MockBidStrategy.
type MockBidStrategyMockRecorder struct {
	mock *MockBidStrategy
}

// NewMockBidStrategy creates a new mock instance.
func NewMockBidStrategy(ctrl *gomock.Controller) *MockBidStrategy {
	mock := &MockBidStrategy{ctrl: ctrl}
	mock.recorder = &MockBidStrategyMockRecorder{mock}
	return mock
}

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

// ShouldBid mocks base method.
func (m *MockBidStrategy) ShouldBid(ctx context.Context, request BidStrategyRequest) (BidStrategyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShouldBid", ctx, request)
	ret0, _ := ret[0].(BidStrategyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ShouldBid indicates an expected call of ShouldBid.
func (mr *MockBidStrategyMockRecorder) ShouldBid(ctx, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldBid", reflect.TypeOf((*MockBidStrategy)(nil).ShouldBid), ctx, request)
}

// ShouldBidBasedOnUsage mocks base method.
func (m *MockBidStrategy) ShouldBidBasedOnUsage(ctx context.Context, request BidStrategyRequest, usage models.Resources) (BidStrategyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShouldBidBasedOnUsage", ctx, request, usage)
	ret0, _ := ret[0].(BidStrategyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ShouldBidBasedOnUsage indicates an expected call of ShouldBidBasedOnUsage.
func (mr *MockBidStrategyMockRecorder) ShouldBidBasedOnUsage(ctx, request, usage any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldBidBasedOnUsage", reflect.TypeOf((*MockBidStrategy)(nil).ShouldBidBasedOnUsage), ctx, request, usage)
}

// MockSemanticBidStrategy is a mock of SemanticBidStrategy interface.
type MockSemanticBidStrategy struct {
	ctrl     *gomock.Controller
	recorder *MockSemanticBidStrategyMockRecorder
}

// MockSemanticBidStrategyMockRecorder is the mock recorder for MockSemanticBidStrategy.
type MockSemanticBidStrategyMockRecorder struct {
	mock *MockSemanticBidStrategy
}

// NewMockSemanticBidStrategy creates a new mock instance.
func NewMockSemanticBidStrategy(ctrl *gomock.Controller) *MockSemanticBidStrategy {
	mock := &MockSemanticBidStrategy{ctrl: ctrl}
	mock.recorder = &MockSemanticBidStrategyMockRecorder{mock}
	return mock
}

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

// ShouldBid mocks base method.
func (m *MockSemanticBidStrategy) ShouldBid(ctx context.Context, request BidStrategyRequest) (BidStrategyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShouldBid", ctx, request)
	ret0, _ := ret[0].(BidStrategyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ShouldBid indicates an expected call of ShouldBid.
func (mr *MockSemanticBidStrategyMockRecorder) ShouldBid(ctx, request any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldBid", reflect.TypeOf((*MockSemanticBidStrategy)(nil).ShouldBid), ctx, request)
}

// MockResourceBidStrategy is a mock of ResourceBidStrategy interface.
type MockResourceBidStrategy struct {
	ctrl     *gomock.Controller
	recorder *MockResourceBidStrategyMockRecorder
}

// MockResourceBidStrategyMockRecorder is the mock recorder for MockResourceBidStrategy.
type MockResourceBidStrategyMockRecorder struct {
	mock *MockResourceBidStrategy
}

// NewMockResourceBidStrategy creates a new mock instance.
func NewMockResourceBidStrategy(ctrl *gomock.Controller) *MockResourceBidStrategy {
	mock := &MockResourceBidStrategy{ctrl: ctrl}
	mock.recorder = &MockResourceBidStrategyMockRecorder{mock}
	return mock
}

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

// ShouldBidBasedOnUsage mocks base method.
func (m *MockResourceBidStrategy) ShouldBidBasedOnUsage(ctx context.Context, request BidStrategyRequest, usage models.Resources) (BidStrategyResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ShouldBidBasedOnUsage", ctx, request, usage)
	ret0, _ := ret[0].(BidStrategyResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ShouldBidBasedOnUsage indicates an expected call of ShouldBidBasedOnUsage.
func (mr *MockResourceBidStrategyMockRecorder) ShouldBidBasedOnUsage(ctx, request, usage any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShouldBidBasedOnUsage", reflect.TypeOf((*MockResourceBidStrategy)(nil).ShouldBidBasedOnUsage), ctx, request, usage)
}
