// Code generated by MockGen. DO NOT EDIT.
// Source: segment_users.go
//
// Generated by this command:
//
//	mockgen -source=segment_users.go -package=mock -destination=./mock/segment_users.go
//

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

import (
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"

	feature "github.com/bucketeer-io/bucketeer/v2/proto/feature"
)

// MockSegmentUsersCache is a mock of SegmentUsersCache interface.
type MockSegmentUsersCache struct {
	ctrl     *gomock.Controller
	recorder *MockSegmentUsersCacheMockRecorder
}

// MockSegmentUsersCacheMockRecorder is the mock recorder for MockSegmentUsersCache.
type MockSegmentUsersCacheMockRecorder struct {
	mock *MockSegmentUsersCache
}

// NewMockSegmentUsersCache creates a new mock instance.
func NewMockSegmentUsersCache(ctrl *gomock.Controller) *MockSegmentUsersCache {
	mock := &MockSegmentUsersCache{ctrl: ctrl}
	mock.recorder = &MockSegmentUsersCacheMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockSegmentUsersCache) Get(segmentID, environmentId string) (*feature.SegmentUsers, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", segmentID, environmentId)
	ret0, _ := ret[0].(*feature.SegmentUsers)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockSegmentUsersCacheMockRecorder) Get(segmentID, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSegmentUsersCache)(nil).Get), segmentID, environmentId)
}

// GetAll mocks base method.
func (m *MockSegmentUsersCache) GetAll(environmentId string) ([]*feature.SegmentUsers, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAll", environmentId)
	ret0, _ := ret[0].([]*feature.SegmentUsers)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAll indicates an expected call of GetAll.
func (mr *MockSegmentUsersCacheMockRecorder) GetAll(environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAll", reflect.TypeOf((*MockSegmentUsersCache)(nil).GetAll), environmentId)
}

// Put mocks base method.
func (m *MockSegmentUsersCache) Put(segmentUsers *feature.SegmentUsers, environmentId string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Put", segmentUsers, environmentId)
	ret0, _ := ret[0].(error)
	return ret0
}

// Put indicates an expected call of Put.
func (mr *MockSegmentUsersCacheMockRecorder) Put(segmentUsers, environmentId any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Put", reflect.TypeOf((*MockSegmentUsersCache)(nil).Put), segmentUsers, environmentId)
}
