// Code generated by MockGen. DO NOT EDIT.
// Source: virtual_machine_resource_skus_cached_reader.go
//
// Generated by this command:
//
//	mockgen-v0.6.0 -typed -source=virtual_machine_resource_skus_cached_reader.go -destination=mock_virtual_machine_resource_skus_cached_reader.go -package cachedreader VirtualMachineResourceSKUsCachedReader
//

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

import (
	context "context"
	reflect "reflect"

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

// MockVirtualMachineResourceSKUsCachedReader is a mock of VirtualMachineResourceSKUsCachedReader interface.
type MockVirtualMachineResourceSKUsCachedReader struct {
	ctrl     *gomock.Controller
	recorder *MockVirtualMachineResourceSKUsCachedReaderMockRecorder
	isgomock struct{}
}

// MockVirtualMachineResourceSKUsCachedReaderMockRecorder is the mock recorder for MockVirtualMachineResourceSKUsCachedReader.
type MockVirtualMachineResourceSKUsCachedReaderMockRecorder struct {
	mock *MockVirtualMachineResourceSKUsCachedReader
}

// NewMockVirtualMachineResourceSKUsCachedReader creates a new mock instance.
func NewMockVirtualMachineResourceSKUsCachedReader(ctrl *gomock.Controller) *MockVirtualMachineResourceSKUsCachedReader {
	mock := &MockVirtualMachineResourceSKUsCachedReader{ctrl: ctrl}
	mock.recorder = &MockVirtualMachineResourceSKUsCachedReaderMockRecorder{mock}
	return mock
}

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

// GetVirtualMachineSKU mocks base method.
func (m *MockVirtualMachineResourceSKUsCachedReader) GetVirtualMachineSKU(ctx context.Context, tenantID, subscriptionID, location, vmSize string) (*armcompute.ResourceSKU, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetVirtualMachineSKU", ctx, tenantID, subscriptionID, location, vmSize)
	ret0, _ := ret[0].(*armcompute.ResourceSKU)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetVirtualMachineSKU indicates an expected call of GetVirtualMachineSKU.
func (mr *MockVirtualMachineResourceSKUsCachedReaderMockRecorder) GetVirtualMachineSKU(ctx, tenantID, subscriptionID, location, vmSize any) *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVirtualMachineSKU", reflect.TypeOf((*MockVirtualMachineResourceSKUsCachedReader)(nil).GetVirtualMachineSKU), ctx, tenantID, subscriptionID, location, vmSize)
	return &MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall) Return(arg0 *armcompute.ResourceSKU, arg1 error) *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall) Do(f func(context.Context, string, string, string, string) (*armcompute.ResourceSKU, error)) *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall) DoAndReturn(f func(context.Context, string, string, string, string) (*armcompute.ResourceSKU, error)) *MockVirtualMachineResourceSKUsCachedReaderGetVirtualMachineSKUCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}

// ListVirtualMachineSKUs mocks base method.
func (m *MockVirtualMachineResourceSKUsCachedReader) ListVirtualMachineSKUs(ctx context.Context, tenantID, subscriptionID, location string) ([]*armcompute.ResourceSKU, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListVirtualMachineSKUs", ctx, tenantID, subscriptionID, location)
	ret0, _ := ret[0].([]*armcompute.ResourceSKU)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListVirtualMachineSKUs indicates an expected call of ListVirtualMachineSKUs.
func (mr *MockVirtualMachineResourceSKUsCachedReaderMockRecorder) ListVirtualMachineSKUs(ctx, tenantID, subscriptionID, location any) *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall {
	mr.mock.ctrl.T.Helper()
	call := mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVirtualMachineSKUs", reflect.TypeOf((*MockVirtualMachineResourceSKUsCachedReader)(nil).ListVirtualMachineSKUs), ctx, tenantID, subscriptionID, location)
	return &MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall{Call: call}
}

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

// Return rewrite *gomock.Call.Return
func (c *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall) Return(arg0 []*armcompute.ResourceSKU, arg1 error) *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall {
	c.Call = c.Call.Return(arg0, arg1)
	return c
}

// Do rewrite *gomock.Call.Do
func (c *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall) Do(f func(context.Context, string, string, string) ([]*armcompute.ResourceSKU, error)) *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall {
	c.Call = c.Call.Do(f)
	return c
}

// DoAndReturn rewrite *gomock.Call.DoAndReturn
func (c *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall) DoAndReturn(f func(context.Context, string, string, string) ([]*armcompute.ResourceSKU, error)) *MockVirtualMachineResourceSKUsCachedReaderListVirtualMachineSKUsCall {
	c.Call = c.Call.DoAndReturn(f)
	return c
}
