// Code generated by MockGen. DO NOT EDIT.
// Source: ./cache.go

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

import (
	context "context"
	reflect "reflect"
	time "time"

	cache "github.com/air-go/rpc/library/cache"
	gomock "github.com/golang/mock/gomock"
)

// MockCacher is a mock of Cacher interface.
type MockCacher struct {
	ctrl     *gomock.Controller
	recorder *MockCacherMockRecorder
}

// MockCacherMockRecorder is the mock recorder for MockCacher.
type MockCacherMockRecorder struct {
	mock *MockCacher
}

// NewMockCacher creates a new mock instance.
func NewMockCacher(ctrl *gomock.Controller) *MockCacher {
	mock := &MockCacher{ctrl: ctrl}
	mock.recorder = &MockCacherMockRecorder{mock}
	return mock
}

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

// FlushCache mocks base method.
func (m *MockCacher) FlushCache(ctx context.Context, key string, ttl, virtualTTL time.Duration, f cache.LoadFunc, data interface{}) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FlushCache", ctx, key, ttl, virtualTTL, f, data)
	ret0, _ := ret[0].(error)
	return ret0
}

// FlushCache indicates an expected call of FlushCache.
func (mr *MockCacherMockRecorder) FlushCache(ctx, key, ttl, virtualTTL, f, data interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FlushCache", reflect.TypeOf((*MockCacher)(nil).FlushCache), ctx, key, ttl, virtualTTL, f, data)
}

// GetData mocks base method.
func (m *MockCacher) GetData(ctx context.Context, key string, ttl, virtualTTL time.Duration, f cache.LoadFunc, data interface{}) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetData", ctx, key, ttl, virtualTTL, f, data)
	ret0, _ := ret[0].(error)
	return ret0
}

// GetData indicates an expected call of GetData.
func (mr *MockCacherMockRecorder) GetData(ctx, key, ttl, virtualTTL, f, data interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetData", reflect.TypeOf((*MockCacher)(nil).GetData), ctx, key, ttl, virtualTTL, f, data)
}
