public void SimpleIOCRegsiterDependency() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.Register <ISimpleIOC, SimpleIOC>(); var ioc = simpleIOC.Resolve <ISimpleIOC>(); Debug.Log(ioc.GetType()); // 通过 ISimpleIOC 获取的对象类型应该是 SimpleIOC Assert.AreEqual(ioc.GetType(), typeof(SimpleIOC)); }
public void SimpleIOCRegisterResolveTest() { var simpleIOC = new SimpleIOC(); simpleIOC.Register <SimpleIOC>(); var obj = simpleIOC.Resolve <SimpleIOC>(); // 是否创建了实例 Assert.IsNotNull(obj); // 不相同 说明是 创建了实例 Assert.AreNotEqual(simpleIOC, obj); }
public void SimpleIOCInject() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.RegisterInstance(new SomeDependencyA()); simpleIOC.Register <SomeDependencyB>(); var someCtrl = new SomeCtrl(); simpleIOC.Inject(someCtrl); Assert.IsNotNull(someCtrl.A); Assert.IsNotNull(someCtrl.B); Assert.AreEqual(someCtrl.A.GetType(), typeof(SomeDependencyA)); Assert.AreEqual(someCtrl.B.GetType(), typeof(SomeDependencyB)); }
public void SimpleIOCClear() { var simpleIOC = new SimpleIOC(); // 注册依赖 simpleIOC.RegisterInstance(new SomeDependencyA()); simpleIOC.RegisterInstance <ISimpleIOC>(simpleIOC); simpleIOC.Register <SomeDependencyB>(); simpleIOC.Clear(); // 获取对象 var someDependencyA = simpleIOC.Resolve <SomeDependencyA>(); var someDependencyB = simpleIOC.Resolve <SomeDependencyB>(); var ioc = simpleIOC.Resolve <ISimpleIOC>(); // 全部为空才对 Assert.IsNull(someDependencyA); Assert.IsNull(someDependencyB); Assert.IsNull(ioc); }