// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"). You may
// not use this file except in compliance with the License. A copy of the
// License is located at
//
//     http://aws.amazon.com/apache2.0/
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/aws/amazon-ecs-agent/ecs-agent/metrics (interfaces: EntryFactory,Entry)

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

import (
	reflect "reflect"

	metrics "github.com/aws/amazon-ecs-agent/ecs-agent/metrics"
	gomock "github.com/golang/mock/gomock"
)

// MockEntryFactory is a mock of EntryFactory interface.
type MockEntryFactory struct {
	ctrl     *gomock.Controller
	recorder *MockEntryFactoryMockRecorder
}

// MockEntryFactoryMockRecorder is the mock recorder for MockEntryFactory.
type MockEntryFactoryMockRecorder struct {
	mock *MockEntryFactory
}

// NewMockEntryFactory creates a new mock instance.
func NewMockEntryFactory(ctrl *gomock.Controller) *MockEntryFactory {
	mock := &MockEntryFactory{ctrl: ctrl}
	mock.recorder = &MockEntryFactoryMockRecorder{mock}
	return mock
}

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

// Flush mocks base method.
func (m *MockEntryFactory) Flush() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Flush")
}

// Flush indicates an expected call of Flush.
func (mr *MockEntryFactoryMockRecorder) Flush() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Flush", reflect.TypeOf((*MockEntryFactory)(nil).Flush))
}

// New mocks base method.
func (m *MockEntryFactory) New(arg0 string) metrics.Entry {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "New", arg0)
	ret0, _ := ret[0].(metrics.Entry)
	return ret0
}

// New indicates an expected call of New.
func (mr *MockEntryFactoryMockRecorder) New(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "New", reflect.TypeOf((*MockEntryFactory)(nil).New), arg0)
}

// MockEntry is a mock of Entry interface.
type MockEntry struct {
	ctrl     *gomock.Controller
	recorder *MockEntryMockRecorder
}

// MockEntryMockRecorder is the mock recorder for MockEntry.
type MockEntryMockRecorder struct {
	mock *MockEntry
}

// NewMockEntry creates a new mock instance.
func NewMockEntry(ctrl *gomock.Controller) *MockEntry {
	mock := &MockEntry{ctrl: ctrl}
	mock.recorder = &MockEntryMockRecorder{mock}
	return mock
}

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

// Done mocks base method.
func (m *MockEntry) Done(arg0 error) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Done", arg0)
}

// Done indicates an expected call of Done.
func (mr *MockEntryMockRecorder) Done(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Done", reflect.TypeOf((*MockEntry)(nil).Done), arg0)
}

// WithCount mocks base method.
func (m *MockEntry) WithCount(arg0 int) metrics.Entry {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WithCount", arg0)
	ret0, _ := ret[0].(metrics.Entry)
	return ret0
}

// WithCount indicates an expected call of WithCount.
func (mr *MockEntryMockRecorder) WithCount(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WithCount", reflect.TypeOf((*MockEntry)(nil).WithCount), arg0)
}

// WithFields mocks base method.
func (m *MockEntry) WithFields(arg0 map[string]interface{}) metrics.Entry {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WithFields", arg0)
	ret0, _ := ret[0].(metrics.Entry)
	return ret0
}

// WithFields indicates an expected call of WithFields.
func (mr *MockEntryMockRecorder) WithFields(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WithFields", reflect.TypeOf((*MockEntry)(nil).WithFields), arg0)
}

// WithGauge mocks base method.
func (m *MockEntry) WithGauge(arg0 interface{}) metrics.Entry {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "WithGauge", arg0)
	ret0, _ := ret[0].(metrics.Entry)
	return ret0
}

// WithGauge indicates an expected call of WithGauge.
func (mr *MockEntryMockRecorder) WithGauge(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WithGauge", reflect.TypeOf((*MockEntry)(nil).WithGauge), arg0)
}
