Ejemplo n.º 1
0
 public void ClonedContainrterShouldReturnSingletonFromRootContainer()
 {
     var container = new ServiceContainer();
     container.Register<IFoo,Foo>(new PerContainerLifetime());
     var firstInstance = container.GetInstance<IFoo>();
     var clonedContainer = container.Clone();
     var secondInstance = clonedContainer.GetInstance<IFoo>();
     Assert.Same(firstInstance, secondInstance);
 }
Ejemplo n.º 2
0
        public void ShouldHandleIssue476()
        {
            var container = new ServiceContainer();

            container.Register <IFoo>(factory => new Foo());
            container.GetInstance <IFoo>();

            var clonedContainer = container.Clone();

            clonedContainer.GetInstance <IFoo>();  // IndexOutOfRangeException
        }
Ejemplo n.º 3
0
        public void ShouldHandleIssue396()
        {
            var container = new ServiceContainer();

            container.Register <Class1>();
            container.Register <Class2>();
            container.GetInstance <Class1>();

            var clonedContainer = container.Clone();

            clonedContainer.Register <Class3>();

            clonedContainer.GetInstance <Class2>();
            clonedContainer.GetInstance <Class3>();
        }
Ejemplo n.º 4
0
 public void ShouldBeAbleToCloneContainer()
 {
     var container = new ServiceContainer();
     var clonedContainer = container.Clone();
     Assert.IsType<ServiceContainer>(clonedContainer);
 }