public void FrameworkContainerForCastle_Register_Test1() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>(); container.Resolve<IMockSimple>().Say(); }
public void FrameworkContainerForCastle_Register_Dependency_Injection_Test1() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>(); container.RegisterType<IMockConstructorInject, MockConstructorInject>(); container.Resolve<IMockConstructorInject>().Depend(); }
public void FrameworkContainerForCastle_Property_Injection_Test() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>() .RegisterType<IMockPropertyInjection, MockPropertyInjection>(); container.Resolve<IMockPropertyInjection>().Say(); }
public void FrameworkContainerForCastle_Register_Singleton_Test() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>(LifetimeFlag.Singleton); var obj = container.Resolve<IMockSimple>(); obj.Name = "엄준일"; obj = container.Resolve<IMockSimple>(); Assert.IsTrue(obj.Name == "엄준일", "FrameworkContainer 에 Singleton 객체를 등록하였지만, 객체의 상태가 변했습니다"); }
public void FrameworkContainerForCastle_Register_PerCall_Test() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>(LifetimeFlag.PerCall); var obj = container.Resolve<IMockSimple>(); obj.Name = "엄준일"; obj = container.Resolve<IMockSimple>(); Assert.IsTrue(obj.Name == null, "FrameworkContainer 에 PerCall 객체를 등록하였지만, 객체의 상태가 초기값과 다릅니다."); }
private FrameworkContainerForCastle CompositionTheTypes(Type[] types) { FrameworkDependencyVisitor visitor = new FrameworkDependencyVisitor(types); var root = visitor.VisitTypes(); WriteToSerialization(root); FrameworkContainerForCastle container = new FrameworkContainerForCastle(); FrameworkCompositionResolverForCastle resolver = new FrameworkCompositionResolverForCastle(container, root); resolver.Compose(); return container; }
public void FrameworkContainerForCastle_With_Child_Container_Must_One_Child_Test1() { FrameworkContainerForCastle container = new FrameworkContainerForCastle(); container.RegisterType<IMockSimple, MockSimple>(); FrameworkContainerForCastleChild child = new FrameworkContainerForCastleChild("child", container); child.RegisterType<IMockConstructorInject, MockConstructorInject>(); Assert.IsTrue( container.Childs.Count() == 1, "container 에 하나의 자식 Container 를 등록하였지만, Childs 개수가 {0} 이라 오류입니다.", container.Childs.Count()); }