func Test_InterfaceOf(t *testing.T) { iType := inject.InterfaceOf((*SpecialString)(nil)) expect(t, iType.Kind(), reflect.Interface) iType = inject.InterfaceOf((**SpecialString)(nil)) expect(t, iType.Kind(), reflect.Interface) // Expecting nil defer func() { rec := recover() refute(t, rec, nil) }() iType = inject.InterfaceOf((*testing.T)(nil)) }
func TestInjectImplementors(t *testing.T) { injector := inject.New() g := &Greeter{"Jeremy"} injector.Map(g) expect(t, injector.GetVal(inject.InterfaceOf((*fmt.Stringer)(nil))).IsValid(), true) }
func Test_InjectorSetParent(t *testing.T) { injector := inject.New() injector.MapTo("another dep", (*SpecialString)(nil)) injector2 := inject.New() injector2.SetParent(injector) expect(t, injector2.GetVal(inject.InterfaceOf((*SpecialString)(nil))).IsValid(), true) }