// Code generated by client-gen. DO NOT EDIT.

package fake

import (
	v1 "github.com/openshift/api/config/v1"
	configv1 "github.com/openshift/client-go/config/applyconfigurations/config/v1"
	typedconfigv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
	gentype "k8s.io/client-go/gentype"
)

// fakeFeatureGates implements FeatureGateInterface
type fakeFeatureGates struct {
	*gentype.FakeClientWithListAndApply[*v1.FeatureGate, *v1.FeatureGateList, *configv1.FeatureGateApplyConfiguration]
	Fake *FakeConfigV1
}

func newFakeFeatureGates(fake *FakeConfigV1) typedconfigv1.FeatureGateInterface {
	return &fakeFeatureGates{
		gentype.NewFakeClientWithListAndApply[*v1.FeatureGate, *v1.FeatureGateList, *configv1.FeatureGateApplyConfiguration](
			fake.Fake,
			"",
			v1.SchemeGroupVersion.WithResource("featuregates"),
			v1.SchemeGroupVersion.WithKind("FeatureGate"),
			func() *v1.FeatureGate { return &v1.FeatureGate{} },
			func() *v1.FeatureGateList { return &v1.FeatureGateList{} },
			func(dst, src *v1.FeatureGateList) { dst.ListMeta = src.ListMeta },
			func(list *v1.FeatureGateList) []*v1.FeatureGate { return gentype.ToPointerSlice(list.Items) },
			func(list *v1.FeatureGateList, items []*v1.FeatureGate) { list.Items = gentype.FromPointerSlice(items) },
		),
		fake,
	}
}
