// Code generated by MockGen. DO NOT EDIT.
// Source: usage_client.go
//
// Generated by this command:
//
//	mockgen-v0.6.0 -typed -source=usage_client.go -destination=mock_usage_client.go -package client UsageClient
//

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

import (
	reflect "reflect"

	runtime "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
	armcompute "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v6"
	gomock "go.uber.org/mock/gomock"
)

// MockUsageClient is a mock of UsageClient interface.
type MockUsageClient struct {
	ctrl     *gomock.Controller
	recorder *MockUsageClientMockRecorder
	isgomock struct{}
}

// MockUsageClientMockRecorder is the mock recorder for MockUsageClient.
type MockUsageClientMockRecorder struct {
	mock *MockUsageClient
}

// NewMockUsageClient creates a new mock instance.
func NewMockUsageClient(ctrl *gomock.Controller) *MockUsageClient {
	mock := &MockUsageClient{ctrl: ctrl}
	mock.recorder = &MockUsageClientMockRecorder{mock}
	return mock
}

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

// NewListPager mocks base method.
func (m *MockUsageClient) NewListPager(location string, options *armcompute.UsageClientListOptions) *runtime.Pager[armcompute.UsageClientListResponse] {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewListPager", location, options)
	ret0, _ := ret[0].(*runtime.Pager[armcompute.UsageClientListResponse])
	return ret0
}

// NewListPager indicates an expected call of NewListPager.
func (mr *MockUsageClientMockRecorder) NewListPager(location, options any) *MockUsageClientNewListPagerCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewListPager", reflect.TypeOf((*MockUsageClient)(nil).NewListPager), location, options)
	return &MockUsageClientNewListPagerCall{Call: call}
}

// MockUsageClientNewListPagerCall wrap *gomock.Call
type MockUsageClientNewListPagerCall struct {
	*gomock.Call
}

// Return rewrite *gomock.Call.Return
func (c *MockUsageClientNewListPagerCall) Return(arg0 *runtime.Pager[armcompute.UsageClientListResponse]) *MockUsageClientNewListPagerCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockUsageClientNewListPagerCall) Do(f func(string, *armcompute.UsageClientListOptions) *runtime.Pager[armcompute.UsageClientListResponse]) *MockUsageClientNewListPagerCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockUsageClientNewListPagerCall) DoAndReturn(f func(string, *armcompute.UsageClientListOptions) *runtime.Pager[armcompute.UsageClientListResponse]) *MockUsageClientNewListPagerCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
