// TEST MOCKERY BOILERPLATE

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

package output_dir

import (
	"sync"

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

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

// MoqOutputDirWithSamePkgNameAsSrc is a mock implementation of output_dir.OutputDirWithSamePkgNameAsSrc.
//
//	func TestSomethingThatUsesOutputDirWithSamePkgNameAsSrc(t *testing.T) {
//
//		// make and configure a mocked output_dir.OutputDirWithSamePkgNameAsSrc
//		mockedOutputDirWithSamePkgNameAsSrc := &MoqOutputDirWithSamePkgNameAsSrc{
//			BarFunc: func() string {
//				panic("mock out the Bar method")
//			},
//		}
//
//		// use mockedOutputDirWithSamePkgNameAsSrc in code that requires output_dir.OutputDirWithSamePkgNameAsSrc
//		// and then make assertions.
//
//	}
type MoqOutputDirWithSamePkgNameAsSrc struct {
	// BarFunc mocks the Bar method.
	BarFunc func() string

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

// Bar calls BarFunc.
func (mock *MoqOutputDirWithSamePkgNameAsSrc) Bar() string {
	callInfo := struct {
	}{}
	mock.lockBar.Lock()
	mock.calls.Bar = append(mock.calls.Bar, callInfo)
	mock.lockBar.Unlock()
	if mock.BarFunc == nil {
		var (
			s string
		)
		return s
	}
	return mock.BarFunc()
}

// BarCalls gets all the calls that were made to Bar.
// Check the length with:
//
//	len(mockedOutputDirWithSamePkgNameAsSrc.BarCalls())
func (mock *MoqOutputDirWithSamePkgNameAsSrc) BarCalls() []struct {
} {
	var calls []struct {
	}
	mock.lockBar.RLock()
	calls = mock.calls.Bar
	mock.lockBar.RUnlock()
	return calls
}

// ResetBarCalls reset all the calls that were made to Bar.
func (mock *MoqOutputDirWithSamePkgNameAsSrc) ResetBarCalls() {
	mock.lockBar.Lock()
	mock.calls.Bar = nil
	mock.lockBar.Unlock()
}

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