// Copyright Contributors to the Open Cluster Management project
// Code generated by client-gen. DO NOT EDIT.

package fake

import (
	gentype "k8s.io/client-go/gentype"
	clusterv1beta1 "open-cluster-management.io/api/client/cluster/clientset/versioned/typed/cluster/v1beta1"
	v1beta1 "open-cluster-management.io/api/cluster/v1beta1"
)

// fakePlacementDecisions implements PlacementDecisionInterface
type fakePlacementDecisions struct {
	*gentype.FakeClientWithList[*v1beta1.PlacementDecision, *v1beta1.PlacementDecisionList]
	Fake *FakeClusterV1beta1
}

func newFakePlacementDecisions(fake *FakeClusterV1beta1, namespace string) clusterv1beta1.PlacementDecisionInterface {
	return &fakePlacementDecisions{
		gentype.NewFakeClientWithList[*v1beta1.PlacementDecision, *v1beta1.PlacementDecisionList](
			fake.Fake,
			namespace,
			v1beta1.SchemeGroupVersion.WithResource("placementdecisions"),
			v1beta1.SchemeGroupVersion.WithKind("PlacementDecision"),
			func() *v1beta1.PlacementDecision { return &v1beta1.PlacementDecision{} },
			func() *v1beta1.PlacementDecisionList { return &v1beta1.PlacementDecisionList{} },
			func(dst, src *v1beta1.PlacementDecisionList) { dst.ListMeta = src.ListMeta },
			func(list *v1beta1.PlacementDecisionList) []*v1beta1.PlacementDecision {
				return gentype.ToPointerSlice(list.Items)
			},
			func(list *v1beta1.PlacementDecisionList, items []*v1beta1.PlacementDecision) {
				list.Items = gentype.FromPointerSlice(items)
			},
		),
		fake,
	}
}
