예제 #1
0
        public void Change_And_Reset_The_Factory()
        {
            var mySourceFactory = new MySourceFactory();

            Assert.AreEqual(false, mySourceFactory.IsCalled);

            SourceResolver.SetFactory(mySourceFactory.CreateInstance);
            var instance = SourceResolver.CreateInstance(typeof(MyViewB));

            Assert.IsNotNull(instance);
            Assert.AreEqual(typeof(MyViewB), instance.GetType());
            Assert.AreEqual(true, mySourceFactory.IsCalled);


            SourceResolver.SetFactoryToDefault();
            mySourceFactory.IsCalled = false;
            var instance2 = SourceResolver.CreateInstance(typeof(MyViewB));

            Assert.IsNotNull(instance2);
            Assert.AreEqual(typeof(MyViewB), instance2.GetType());
            Assert.AreEqual(false, mySourceFactory.IsCalled);
        }
예제 #2
0
 protected override void SetViewFactory()
 {
     SourceResolver.SetFactory((sourceType) => container.GetNewInstance(sourceType));
 }