Expect(newBaz.Parameter2).To(Equal("param2")) }) }) Context("with invalid factory type", func() { It("should panic", func() { Expect(func() { registry.RegisterType("invalid_type", 42) }).To(Panic()) }) }) }) Describe("InjectInstance", func() { It("should store the type instance", func() { typeID := "test_type" fooInstance := NewFoo() registry.InjectInstance(typeID, fooInstance) factory, typeIsRegistered := registry[typeID] Expect(typeIsRegistered).To(BeTrue()) Expect(factory).NotTo(BeNil()) generateResult, err := factory.Generate(resolver) Expect(err).NotTo(HaveOccurred()) Expect(generateResult == fooInstance).To(BeTrue(), fmt.Sprintf("generateResult (%p) should point to the same instance as fooInstance (%p)", generateResult, fooInstance), ) }) }) Describe("RegisterAll", func() { It("should register all factories", func() {