// Code generated by mockery v2.3.0. DO NOT EDIT.

package terraform

import (
	"github.com/snyk/driftctl/pkg/resource"
	mock "github.com/stretchr/testify/mock"
	cty "github.com/zclconf/go-cty/cty"
)

// MockResourceFactory is an autogenerated mock type for the ResourceFactory type
type MockResourceFactory struct {
	mock.Mock
}

// CreateAbstractResource provides a mock function with given fields: ty, id, data
func (_m *MockResourceFactory) CreateAbstractResource(ty string, id string, data map[string]interface{}) *resource.Resource {
	ret := _m.Called(ty, id, data)

	var r0 *resource.Resource
	if rf, ok := ret.Get(0).(func(string, string, map[string]interface{}) *resource.Resource); ok {
		r0 = rf(ty, id, data)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*resource.Resource)
		}
	}

	return r0
}

// CreateResource provides a mock function with given fields: data, ty
func (_m *MockResourceFactory) CreateResource(data interface{}, ty string) (*cty.Value, error) {
	ret := _m.Called(data, ty)

	var r0 *cty.Value
	if rf, ok := ret.Get(0).(func(interface{}, string) *cty.Value); ok {
		r0 = rf(data, ty)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(*cty.Value)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(interface{}, string) error); ok {
		r1 = rf(data, ty)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
