// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq

package provider

import (
	"sync"
)

// DockerClientMock is a mock implementation of DockerClient.
//
// 	func TestSomethingThatUsesDockerClient(t *testing.T) {
//
// 		// make and configure a mocked DockerClient
// 		mockedDockerClient := &DockerClientMock{
// 			ListContainersFunc: func() ([]containerInfo, error) {
// 				panic("mock out the ListContainers method")
// 			},
// 		}
//
// 		// use mockedDockerClient in code that requires DockerClient
// 		// and then make assertions.
//
// 	}
type DockerClientMock struct {
	// ListContainersFunc mocks the ListContainers method.
	ListContainersFunc func() ([]containerInfo, error)

	// calls tracks calls to the methods.
	calls struct {
		// ListContainers holds details about calls to the ListContainers method.
		ListContainers []struct {
		}
	}
	lockListContainers sync.RWMutex
}

// ListContainers calls ListContainersFunc.
func (mock *DockerClientMock) ListContainers() ([]containerInfo, error) {
	if mock.ListContainersFunc == nil {
		panic("DockerClientMock.ListContainersFunc: method is nil but DockerClient.ListContainers was just called")
	}
	callInfo := struct {
	}{}
	mock.lockListContainers.Lock()
	mock.calls.ListContainers = append(mock.calls.ListContainers, callInfo)
	mock.lockListContainers.Unlock()
	return mock.ListContainersFunc()
}

// ListContainersCalls gets all the calls that were made to ListContainers.
// Check the length with:
//     len(mockedDockerClient.ListContainersCalls())
func (mock *DockerClientMock) ListContainersCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockListContainers.RLock()
	calls = mock.calls.ListContainers
	mock.lockListContainers.RUnlock()
	return calls
}
