// TEST MOCKERY BOILERPLATE

// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: matryer

package mock

import (
	"sync"

	"github.com/vektra/mockery/v3/internal/fixtures/output_dir"
)

// Ensure that MoqOutputDirWithDifferentPkgName does implement output_dir.OutputDirWithDifferentPkgName.
// If this is not the case, regenerate this file with mockery.
var _ output_dir.OutputDirWithDifferentPkgName = &MoqOutputDirWithDifferentPkgName{}

// MoqOutputDirWithDifferentPkgName is a mock implementation of output_dir.OutputDirWithDifferentPkgName.
//
//	func TestSomethingThatUsesOutputDirWithDifferentPkgName(t *testing.T) {
//
//		// make and configure a mocked output_dir.OutputDirWithDifferentPkgName
//		mockedOutputDirWithDifferentPkgName := &MoqOutputDirWithDifferentPkgName{
//			FooFunc: func() string {
//				panic("mock out the Foo method")
//			},
//		}
//
//		// use mockedOutputDirWithDifferentPkgName in code that requires output_dir.OutputDirWithDifferentPkgName
//		// and then make assertions.
//
//	}
type MoqOutputDirWithDifferentPkgName struct {
	// FooFunc mocks the Foo method.
	FooFunc func() string

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

// Foo calls FooFunc.
func (mock *MoqOutputDirWithDifferentPkgName) Foo() string {
	callInfo := struct {
	}{}
	mock.lockFoo.Lock()
	mock.calls.Foo = append(mock.calls.Foo, callInfo)
	mock.lockFoo.Unlock()
	if mock.FooFunc == nil {
		var (
			s string
		)
		return s
	}
	return mock.FooFunc()
}

// FooCalls gets all the calls that were made to Foo.
// Check the length with:
//
//	len(mockedOutputDirWithDifferentPkgName.FooCalls())
func (mock *MoqOutputDirWithDifferentPkgName) FooCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockFoo.RLock()
	calls = mock.calls.Foo
	mock.lockFoo.RUnlock()
	return calls
}

// ResetFooCalls reset all the calls that were made to Foo.
func (mock *MoqOutputDirWithDifferentPkgName) ResetFooCalls() {
	mock.lockFoo.Lock()
	mock.calls.Foo = nil
	mock.lockFoo.Unlock()
}

// ResetCalls reset all the calls that were made to all mocked methods.
func (mock *MoqOutputDirWithDifferentPkgName) ResetCalls() {
	mock.lockFoo.Lock()
	mock.calls.Foo = nil
	mock.lockFoo.Unlock()
}
