func (mmFromContext *TracerOpenCensusMock) FromContextBeforeCounter() uint64 {
	return mm_atomic.LoadUint64(&mmFromContext.beforeFromContextCounter)
}
FromContextBeforeCounter returns a count of TracerOpenCensusMock.FromContext invocations
package templatestests
import (
	"context"
	"sync"
	mm_atomic "sync/atomic"
	mm_time "time"
	"github.com/gojuno/minimock/v3"
	mm_trace "go.opencensus.io/trace"
)
type TracerOpenCensusMock struct {
	t minimock.Tester
	funcFromContext          func(ctx context.Context) (sp1 *mm_trace.Span)
	inspectFuncFromContext   func(ctx context.Context)
	afterFromContextCounter  uint64
	beforeFromContextCounter uint64
	FromContextMock          mTracerOpenCensusMockFromContext
	funcNewContext          func(ctx context.Context, s *mm_trace.Span) (c1 context.Context)
	inspectFuncNewContext   func(ctx context.Context, s *mm_trace.Span)
	afterNewContextCounter  uint64
	beforeNewContextCounter uint64
	NewContextMock          mTracerOpenCensusMockNewContext
	funcStartSpan          func(ctx context.Context, name string, o ...mm_trace.StartOption) (c2 context.Context, sp1 *mm_trace.Span)
	inspectFuncStartSpan   func(ctx context.Context, name string, o ...mm_trace.StartOption)
	afterStartSpanCounter  uint64
	beforeStartSpanCounter uint64
	StartSpanMock          mTracerOpenCensusMockStartSpan
	funcStartSpanWithRemoteParent          func(ctx context.Context, name string, parent mm_trace.SpanContext, o ...mm_trace.StartOption) (c2 context.Context, sp1 *mm_trace.Span)
	inspectFuncStartSpanWithRemoteParent   func(ctx context.Context, name string, parent mm_trace.SpanContext, o ...mm_trace.StartOption)
	afterStartSpanWithRemoteParentCounter  uint64
	beforeStartSpanWithRemoteParentCounter uint64
	StartSpanWithRemoteParentMock          mTracerOpenCensusMockStartSpanWithRemoteParent
}
func NewTracerOpenCensusMock(t minimock.Tester) *TracerOpenCensusMock {
	m := &TracerOpenCensusMock{t: t}
	if controller, ok := t.(minimock.MockController); ok {
		controller.RegisterMocker(m)
	}
	m.FromContextMock = mTracerOpenCensusMockFromContext{mock: m}
	m.FromContextMock.callArgs = []*TracerOpenCensusMockFromContextParams{}
	m.NewContextMock = mTracerOpenCensusMockNewContext{mock: m}
	m.NewContextMock.callArgs = []*TracerOpenCensusMockNewContextParams{}
	m.StartSpanMock = mTracerOpenCensusMockStartSpan{mock: m}
	m.StartSpanMock.callArgs = []*TracerOpenCensusMockStartSpanParams{}
	m.StartSpanWithRemoteParentMock = mTracerOpenCensusMockStartSpanWithRemoteParent{mock: m}
	m.StartSpanWithRemoteParentMock.callArgs = []*TracerOpenCensusMockStartSpanWithRemoteParentParams{}
	return m
}
type mTracerOpenCensusMockFromContext struct {
	mock               *TracerOpenCensusMock
	defaultExpectation *TracerOpenCensusMockFromContextExpectation
	expectations       []*TracerOpenCensusMockFromContextExpectation
	callArgs []*TracerOpenCensusMockFromContextParams
	mutex    sync.RWMutex
}
type TracerOpenCensusMockFromContextExpectation struct {
	mock    *TracerOpenCensusMock
	params  *TracerOpenCensusMockFromContextParams
	results *TracerOpenCensusMockFromContextResults
	Counter uint64
}
type TracerOpenCensusMockFromContextParams struct {
	ctx context.Context
}
type TracerOpenCensusMockFromContextResults struct {
	sp1 *mm_trace.Span
}
func (mmFromContext *mTracerOpenCensusMockFromContext) Expect(ctx context.Context) *mTracerOpenCensusMockFromContext {
	if mmFromContext.mock.funcFromContext != nil {
		mmFromContext.mock.t.Fatalf("TracerOpenCensusMock.FromContext mock is already set by Set")
	}
	if mmFromContext.defaultExpectation == nil {
		mmFromContext.defaultExpectation = &TracerOpenCensusMockFromContextExpectation{}
	}
	mmFromContext.defaultExpectation.params = &TracerOpenCensusMockFromContextParams{ctx}
	for _, e := range mmFromContext.expectations {
		if minimock.Equal(e.params, mmFromContext.defaultExpectation.params) {
			mmFromContext.mock.t.Fatalf("Expectation set by When has same params: %#v", *mmFromContext.defaultExpectation.params)
		}
	}
	return mmFromContext
}
func (mmFromContext *mTracerOpenCensusMockFromContext) Inspect(f func(ctx context.Context)) *mTracerOpenCensusMockFromContext {
	if mmFromContext.mock.inspectFuncFromContext != nil {
		mmFromContext.mock.t.Fatalf("Inspect function is already set for TracerOpenCensusMock.FromContext")
	}
	mmFromContext.mock.inspectFuncFromContext = f
	return mmFromContext
}
func (mmFromContext *mTracerOpenCensusMockFromContext) Return(sp1 *mm_trace.Span) *TracerOpenCensusMock {
	if mmFromContext.mock.funcFromContext != nil {
		mmFromContext.mock.t.Fatalf("TracerOpenCensusMock.FromContext mock is already set by Set")
	}
	if mmFromContext.defaultExpectation == nil {
		mmFromContext.defaultExpectation = &TracerOpenCensusMockFromContextExpectation{mock: mmFromContext.mock}
	}
	mmFromContext.defaultExpectation.results = &TracerOpenCensusMockFromContextResults{sp1}
	return mmFromContext.mock
}
func (mmFromContext *mTracerOpenCensusMockFromContext) Set(f func(ctx context.Context) (sp1 *mm_trace.Span)) *TracerOpenCensusMock {
	if mmFromContext.defaultExpectation != nil {
		mmFromContext.mock.t.Fatalf("Default expectation is already set for the Tracer.FromContext method")
	}
	if len(mmFromContext.expectations) > 0 {
		mmFromContext.mock.t.Fatalf("Some expectations are already set for the Tracer.FromContext method")
	}
	mmFromContext.mock.funcFromContext = f
	return mmFromContext.mock
}
func (mmFromContext *mTracerOpenCensusMockFromContext) When(ctx context.Context) *TracerOpenCensusMockFromContextExpectation {
	if mmFromContext.mock.funcFromContext != nil {
		mmFromContext.mock.t.Fatalf("TracerOpenCensusMock.FromContext mock is already set by Set")
	}
	expectation := &TracerOpenCensusMockFromContextExpectation{
		mock:   mmFromContext.mock,
		params: &TracerOpenCensusMockFromContextParams{ctx},
	}
	mmFromContext.expectations = append(mmFromContext.expectations, expectation)
	return expectation
}
func (e *TracerOpenCensusMockFromContextExpectation) Then(sp1 *mm_trace.Span) *TracerOpenCensusMock {
	e.results = &TracerOpenCensusMockFromContextResults{sp1}
	return e.mock
}
func (mmFromContext *TracerOpenCensusMock) FromContext(ctx context.Context) (sp1 *mm_trace.Span) {
	mm_atomic.AddUint64(&mmFromContext.beforeFromContextCounter, 1)
	defer mm_atomic.AddUint64(&mmFromContext.afterFromContextCounter, 1)
	if mmFromContext.inspectFuncFromContext != nil {
		mmFromContext.inspectFuncFromContext(ctx)
	}
	mm_params := &TracerOpenCensusMockFromContextParams{ctx}
	mmFromContext.FromContextMock.mutex.Lock()
	mmFromContext.FromContextMock.callArgs = append(mmFromContext.FromContextMock.callArgs, mm_params)
	mmFromContext.FromContextMock.mutex.Unlock()
	for _, e := range mmFromContext.FromContextMock.expectations {
		if minimock.Equal(e.params, mm_params) {
			mm_atomic.AddUint64(&e.Counter, 1)
			return e.results.sp1
		}
	}
	if mmFromContext.FromContextMock.defaultExpectation != nil {
		mm_atomic.AddUint64(&mmFromContext.FromContextMock.defaultExpectation.Counter, 1)
		mm_want := mmFromContext.FromContextMock.defaultExpectation.params
		mm_got := TracerOpenCensusMockFromContextParams{ctx}
		if mm_want != nil && !minimock.Equal(*mm_want, mm_got) {
			mmFromContext.t.Errorf("TracerOpenCensusMock.FromContext got unexpected parameters, want: %#v, got: %#v%s\n", *mm_want, mm_got, minimock.Diff(*mm_want, mm_got))
		}
		mm_results := mmFromContext.FromContextMock.defaultExpectation.results
		if mm_results == nil {
			mmFromContext.t.Fatal("No results are set for the TracerOpenCensusMock.FromContext")
		}
		return (*mm_results).sp1
	}
	if mmFromContext.funcFromContext != nil {
		return mmFromContext.funcFromContext(ctx)
	}
	mmFromContext.t.Fatalf("Unexpected call to TracerOpenCensusMock.FromContext. %v", ctx)
	return
}
func (mmFromContext *TracerOpenCensusMock) FromContextAfterCounter() uint64 {
	return mm_atomic.LoadUint64(&mmFromContext.afterFromContextCounter)
}