// Code generated by counterfeiter. DO NOT EDIT.
package fakes

import (
	"sync"
)

type RouteMessageRecorder struct {
	RecordMessageTransitTimeStub        func(int64)
	recordMessageTransitTimeMutex       sync.RWMutex
	recordMessageTransitTimeArgsForCall []struct {
		arg1 int64
	}
	RecordRegisterMessageReceivedStub        func()
	recordRegisterMessageReceivedMutex       sync.RWMutex
	recordRegisterMessageReceivedArgsForCall []struct {
	}
	invocations      map[string][][]interface{}
	invocationsMutex sync.RWMutex
}

func (fake *RouteMessageRecorder) RecordMessageTransitTime(arg1 int64) {
	fake.recordMessageTransitTimeMutex.Lock()
	fake.recordMessageTransitTimeArgsForCall = append(fake.recordMessageTransitTimeArgsForCall, struct {
		arg1 int64
	}{arg1})
	stub := fake.RecordMessageTransitTimeStub
	fake.recordInvocation("RecordMessageTransitTime", []interface{}{arg1})
	fake.recordMessageTransitTimeMutex.Unlock()
	if stub != nil {
		fake.RecordMessageTransitTimeStub(arg1)
	}
}

func (fake *RouteMessageRecorder) RecordMessageTransitTimeCallCount() int {
	fake.recordMessageTransitTimeMutex.RLock()
	defer fake.recordMessageTransitTimeMutex.RUnlock()
	return len(fake.recordMessageTransitTimeArgsForCall)
}

func (fake *RouteMessageRecorder) RecordMessageTransitTimeCalls(stub func(int64)) {
	fake.recordMessageTransitTimeMutex.Lock()
	defer fake.recordMessageTransitTimeMutex.Unlock()
	fake.RecordMessageTransitTimeStub = stub
}

func (fake *RouteMessageRecorder) RecordMessageTransitTimeArgsForCall(i int) int64 {
	fake.recordMessageTransitTimeMutex.RLock()
	defer fake.recordMessageTransitTimeMutex.RUnlock()
	argsForCall := fake.recordMessageTransitTimeArgsForCall[i]
	return argsForCall.arg1
}

func (fake *RouteMessageRecorder) RecordRegisterMessageReceived() {
	fake.recordRegisterMessageReceivedMutex.Lock()
	fake.recordRegisterMessageReceivedArgsForCall = append(fake.recordRegisterMessageReceivedArgsForCall, struct {
	}{})
	stub := fake.RecordRegisterMessageReceivedStub
	fake.recordInvocation("RecordRegisterMessageReceived", []interface{}{})
	fake.recordRegisterMessageReceivedMutex.Unlock()
	if stub != nil {
		fake.RecordRegisterMessageReceivedStub()
	}
}

func (fake *RouteMessageRecorder) RecordRegisterMessageReceivedCallCount() int {
	fake.recordRegisterMessageReceivedMutex.RLock()
	defer fake.recordRegisterMessageReceivedMutex.RUnlock()
	return len(fake.recordRegisterMessageReceivedArgsForCall)
}

func (fake *RouteMessageRecorder) RecordRegisterMessageReceivedCalls(stub func()) {
	fake.recordRegisterMessageReceivedMutex.Lock()
	defer fake.recordRegisterMessageReceivedMutex.Unlock()
	fake.RecordRegisterMessageReceivedStub = stub
}

func (fake *RouteMessageRecorder) Invocations() map[string][][]interface{} {
	fake.invocationsMutex.RLock()
	defer fake.invocationsMutex.RUnlock()
	fake.recordMessageTransitTimeMutex.RLock()
	defer fake.recordMessageTransitTimeMutex.RUnlock()
	fake.recordRegisterMessageReceivedMutex.RLock()
	defer fake.recordRegisterMessageReceivedMutex.RUnlock()
	copiedInvocations := map[string][][]interface{}{}
	for key, value := range fake.invocations {
		copiedInvocations[key] = value
	}
	return copiedInvocations
}

func (fake *RouteMessageRecorder) recordInvocation(key string, args []interface{}) {
	fake.invocationsMutex.Lock()
	defer fake.invocationsMutex.Unlock()
	if fake.invocations == nil {
		fake.invocations = map[string][][]interface{}{}
	}
	if fake.invocations[key] == nil {
		fake.invocations[key] = [][]interface{}{}
	}
	fake.invocations[key] = append(fake.invocations[key], args)
}
