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

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

import (
	context "context"
	reflect "reflect"

	runtime "github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime"
	armresources "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
	gomock "go.uber.org/mock/gomock"
)

// MockResourceGroupsClient is a mock of ResourceGroupsClient interface.
type MockResourceGroupsClient struct {
	ctrl     *gomock.Controller
	recorder *MockResourceGroupsClientMockRecorder
	isgomock struct{}
}

// MockResourceGroupsClientMockRecorder is the mock recorder for MockResourceGroupsClient.
type MockResourceGroupsClientMockRecorder struct {
	mock *MockResourceGroupsClient
}

// NewMockResourceGroupsClient creates a new mock instance.
func NewMockResourceGroupsClient(ctrl *gomock.Controller) *MockResourceGroupsClient {
	mock := &MockResourceGroupsClient{ctrl: ctrl}
	mock.recorder = &MockResourceGroupsClientMockRecorder{mock}
	return mock
}

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

// BeginDelete mocks base method.
func (m *MockResourceGroupsClient) BeginDelete(ctx context.Context, resourceGroupName string, options *armresources.ResourceGroupsClientBeginDeleteOptions) (*runtime.Poller[armresources.ResourceGroupsClientDeleteResponse], error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BeginDelete", ctx, resourceGroupName, options)
	ret0, _ := ret[0].(*runtime.Poller[armresources.ResourceGroupsClientDeleteResponse])
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// BeginDelete indicates an expected call of BeginDelete.
func (mr *MockResourceGroupsClientMockRecorder) BeginDelete(ctx, resourceGroupName, options any) *MockResourceGroupsClientBeginDeleteCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BeginDelete", reflect.TypeOf((*MockResourceGroupsClient)(nil).BeginDelete), ctx, resourceGroupName, options)
	return &MockResourceGroupsClientBeginDeleteCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockResourceGroupsClientBeginDeleteCall) Return(arg0 *runtime.Poller[armresources.ResourceGroupsClientDeleteResponse], arg1 error) *MockResourceGroupsClientBeginDeleteCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockResourceGroupsClientBeginDeleteCall) Do(f func(context.Context, string, *armresources.ResourceGroupsClientBeginDeleteOptions) (*runtime.Poller[armresources.ResourceGroupsClientDeleteResponse], error)) *MockResourceGroupsClientBeginDeleteCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockResourceGroupsClientBeginDeleteCall) DoAndReturn(f func(context.Context, string, *armresources.ResourceGroupsClientBeginDeleteOptions) (*runtime.Poller[armresources.ResourceGroupsClientDeleteResponse], error)) *MockResourceGroupsClientBeginDeleteCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// CreateOrUpdate mocks base method.
func (m *MockResourceGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, parameters armresources.ResourceGroup, options *armresources.ResourceGroupsClientCreateOrUpdateOptions) (armresources.ResourceGroupsClientCreateOrUpdateResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOrUpdate", ctx, resourceGroupName, parameters, options)
	ret0, _ := ret[0].(armresources.ResourceGroupsClientCreateOrUpdateResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateOrUpdate indicates an expected call of CreateOrUpdate.
func (mr *MockResourceGroupsClientMockRecorder) CreateOrUpdate(ctx, resourceGroupName, parameters, options any) *MockResourceGroupsClientCreateOrUpdateCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdate", reflect.TypeOf((*MockResourceGroupsClient)(nil).CreateOrUpdate), ctx, resourceGroupName, parameters, options)
	return &MockResourceGroupsClientCreateOrUpdateCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockResourceGroupsClientCreateOrUpdateCall) Return(arg0 armresources.ResourceGroupsClientCreateOrUpdateResponse, arg1 error) *MockResourceGroupsClientCreateOrUpdateCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockResourceGroupsClientCreateOrUpdateCall) Do(f func(context.Context, string, armresources.ResourceGroup, *armresources.ResourceGroupsClientCreateOrUpdateOptions) (armresources.ResourceGroupsClientCreateOrUpdateResponse, error)) *MockResourceGroupsClientCreateOrUpdateCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockResourceGroupsClientCreateOrUpdateCall) DoAndReturn(f func(context.Context, string, armresources.ResourceGroup, *armresources.ResourceGroupsClientCreateOrUpdateOptions) (armresources.ResourceGroupsClientCreateOrUpdateResponse, error)) *MockResourceGroupsClientCreateOrUpdateCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// Get mocks base method.
func (m *MockResourceGroupsClient) Get(ctx context.Context, resourceGroupName string, options *armresources.ResourceGroupsClientGetOptions) (armresources.ResourceGroupsClientGetResponse, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, resourceGroupName, options)
	ret0, _ := ret[0].(armresources.ResourceGroupsClientGetResponse)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockResourceGroupsClientMockRecorder) Get(ctx, resourceGroupName, options any) *MockResourceGroupsClientGetCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockResourceGroupsClient)(nil).Get), ctx, resourceGroupName, options)
	return &MockResourceGroupsClientGetCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockResourceGroupsClientGetCall) Return(arg0 armresources.ResourceGroupsClientGetResponse, arg1 error) *MockResourceGroupsClientGetCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockResourceGroupsClientGetCall) Do(f func(context.Context, string, *armresources.ResourceGroupsClientGetOptions) (armresources.ResourceGroupsClientGetResponse, error)) *MockResourceGroupsClientGetCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockResourceGroupsClientGetCall) DoAndReturn(f func(context.Context, string, *armresources.ResourceGroupsClientGetOptions) (armresources.ResourceGroupsClientGetResponse, error)) *MockResourceGroupsClientGetCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// NewListPager mocks base method.
func (m *MockResourceGroupsClient) NewListPager(options *armresources.ResourceGroupsClientListOptions) *runtime.Pager[armresources.ResourceGroupsClientListResponse] {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "NewListPager", options)
	ret0, _ := ret[0].(*runtime.Pager[armresources.ResourceGroupsClientListResponse])
	return ret0
}

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

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

// Return rewrite *gomock.Call.Return
func (c *MockResourceGroupsClientNewListPagerCall) Return(arg0 *runtime.Pager[armresources.ResourceGroupsClientListResponse]) *MockResourceGroupsClientNewListPagerCall {
	c.Call = c.Call.Return(arg0)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockResourceGroupsClientNewListPagerCall) Do(f func(*armresources.ResourceGroupsClientListOptions) *runtime.Pager[armresources.ResourceGroupsClientListResponse]) *MockResourceGroupsClientNewListPagerCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockResourceGroupsClientNewListPagerCall) DoAndReturn(f func(*armresources.ResourceGroupsClientListOptions) *runtime.Pager[armresources.ResourceGroupsClientListResponse]) *MockResourceGroupsClientNewListPagerCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
