func (f_sym5 *FakeIdentifier) SetTestConstructorInvocation(calls_sym5 []*IdentifierTestConstructorInvocation, fallback_sym5 func() string) {
	f_sym5.TestConstructorHook = func(val int64) (t string) {
		for _, call_sym5 := range calls_sym5 {
			if reflect.DeepEqual(call_sym5.Parameters.Val, val) {
				t = call_sym5.Results.T
				return
			}
		}
		return fallback_sym5()
	}
}
SetTestConstructorInvocation configures Identifier.TestConstructor to return the given results when called with the given parameters
If no match is found for an invocation the result(s) of the fallback function are returned
package main
import "reflect"
type IdentifierTestConstructorInvocation struct {
	Parameters struct {
		Val int64
	}
	Results struct {
		T string
	}
}
func NewIdentifierTestConstructorInvocation(val int64, t string) *IdentifierTestConstructorInvocation {
	invocation := new(IdentifierTestConstructorInvocation)
	invocation.Parameters.Val = val
	invocation.Results.T = t
	return invocation
}
type IdentifierInvocationSetterInvocation struct {
	Parameters struct {
		Val int64
	}
	Results struct {
		Call     string
		Calls    string
		Fallback string
	}
}
func NewIdentifierInvocationSetterInvocation(val int64, call string, calls string, fallback string) *IdentifierInvocationSetterInvocation {
	invocation := new(IdentifierInvocationSetterInvocation)
	invocation.Parameters.Val = val
	invocation.Results.Call = call
	invocation.Results.Calls = calls
	invocation.Results.Fallback = fallback
	return invocation
}
type IdentifierTestingT interface {
	Error(...interface{})
	Errorf(string, ...interface{})
	Fatal(...interface{})
	Helper()
}
type FakeIdentifier struct {
	TestConstructorHook  func(int64) string
	InvocationSetterHook func(int64) (string, string, string)
	TestConstructorCalls  []*IdentifierTestConstructorInvocation
	InvocationSetterCalls []*IdentifierInvocationSetterInvocation
}
func NewFakeIdentifierDefaultPanic() *FakeIdentifier {
	return &FakeIdentifier{
		TestConstructorHook: func(int64) (t string) {
			panic("Unexpected call to Identifier.TestConstructor")
		},
		InvocationSetterHook: func(int64) (call string, calls string, fallback string) {
			panic("Unexpected call to Identifier.InvocationSetter")
		},
	}
}
func NewFakeIdentifierDefaultFatal(t_sym1 IdentifierTestingT) *FakeIdentifier {
	return &FakeIdentifier{
		TestConstructorHook: func(int64) (t string) {
			t_sym1.Fatal("Unexpected call to Identifier.TestConstructor")
			return
		},
		InvocationSetterHook: func(int64) (call string, calls string, fallback string) {
			t_sym1.Fatal("Unexpected call to Identifier.InvocationSetter")
			return
		},
	}
}
func NewFakeIdentifierDefaultError(t_sym2 IdentifierTestingT) *FakeIdentifier {
	return &FakeIdentifier{
		TestConstructorHook: func(int64) (t string) {
			t_sym2.Error("Unexpected call to Identifier.TestConstructor")
			return
		},
		InvocationSetterHook: func(int64) (call string, calls string, fallback string) {
			t_sym2.Error("Unexpected call to Identifier.InvocationSetter")
			return
		},
	}
}
func (f *FakeIdentifier) Reset() {
	f.TestConstructorCalls = []*IdentifierTestConstructorInvocation{}
	f.InvocationSetterCalls = []*IdentifierInvocationSetterInvocation{}
}
func (f_sym3 *FakeIdentifier) TestConstructor(val int64) (t string) {
	if f_sym3.TestConstructorHook == nil {
		panic("Identifier.TestConstructor() called but FakeIdentifier.TestConstructorHook is nil")
	}
	invocation_sym3 := new(IdentifierTestConstructorInvocation)
	f_sym3.TestConstructorCalls = append(f_sym3.TestConstructorCalls, invocation_sym3)
	invocation_sym3.Parameters.Val = val
	t = f_sym3.TestConstructorHook(val)
	invocation_sym3.Results.T = t
	return
}
func (f_sym4 *FakeIdentifier) SetTestConstructorStub(t string) {
	f_sym4.TestConstructorHook = func(int64) string {
		return t
	}
}