Ejemplo n.º 1
0
        public void ManyResolverCannotRemoveTypeOnceFrozen()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            resolver.RemoveType <Resolved2>(); // throws
        }
Ejemplo n.º 2
0
        public void ManyResolverCannotAddInvalidType()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>());

            //resolver.AddType<Resolved4>(); // does not compile
            resolver.AddType(typeof(Resolved4)); // throws
        }
Ejemplo n.º 3
0
        public void ManyResolverCannotRemoveInvalidType()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            //resolver.RemoveType<Resolved4>(); // does not compile
            resolver.RemoveType(typeof(Resolved4)); // throws
        }
Ejemplo n.º 4
0
        public void ManyResolverCannotAddTypeOnceFrozen()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>());

            Resolution.Freeze();
            resolver.AddType <Resolved1>();
        }
Ejemplo n.º 5
0
        public void ManyResolverCannotInsertBeforeTypeOnceFrozen()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            resolver.InsertTypeBefore <Resolved2, Resolved3>();
        }
Ejemplo n.º 6
0
        public void ManyResolverCannotInsertBeforeTypeOnceFrozen()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            resolver.InsertTypeBefore <Resolved2, Resolved3>();
        }
Ejemplo n.º 7
0
        public void ManyResolverCannotAddTypeAgain()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>());

            resolver.AddType <Resolved1>();
            resolver.AddType <Resolved1>();
        }
Ejemplo n.º 8
0
        public void ManyResolverCannotRemoveTypeOnceFrozen()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            resolver.RemoveType <Resolved2>(); // throws
        }
Ejemplo n.º 9
0
        public void ManyResolverCannotAddTypeAgain()
        {
            var resolver = new ManyResolver();

            resolver.AddType <Resolved1>();
            resolver.AddType <Resolved1>();
        }
Ejemplo n.º 10
0
        public void ManyResolverCannotAddInvalidType()
        {
            var resolver = new ManyResolver();

            //resolver.AddType<Resolved4>(); // does not compile
            resolver.AddType(typeof(Resolved4)); // throws
        }
Ejemplo n.º 11
0
        public void ManyResolverHttpRequestLifetimeScope()
        {
            var httpContextFactory = new FakeHttpContextFactory("~/Home");
            var httpContext        = httpContextFactory.HttpContext;
            var resolver           = new ManyResolver(httpContext);

            resolver.AddType <Resolved1>();
            resolver.AddType <Resolved2>();
            Resolution.Freeze();

            var values = resolver.ResolvedObjects;

            Assert.AreEqual(2, values.Count());
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(1));

            var values2 = resolver.ResolvedObjects;

            Assert.AreEqual(2, values2.Count());
            Assert.AreSame(values.ElementAt(0), values2.ElementAt(0));
            Assert.AreSame(values.ElementAt(1), values2.ElementAt(1));

            httpContextFactory.HttpContext.Items.Clear(); // new context

            var values3 = resolver.ResolvedObjects;

            Assert.AreEqual(2, values3.Count());
            Assert.AreNotSame(values.ElementAt(0), values3.ElementAt(0));
            Assert.AreNotSame(values.ElementAt(1), values3.ElementAt(1));
        }
Ejemplo n.º 12
0
        public void ManyResolverCannotAddTypeOnceFrozen()
        {
            var resolver = new ManyResolver();

            Resolution.Freeze();
            resolver.AddType <Resolved1>();
        }
Ejemplo n.º 13
0
        public void ManyResolverCannotGetValuesBeforeFreezeUnless()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            resolver.CanResolveBeforeFrozen = true;
            var values = resolver.ResolvedObjects;
        }
Ejemplo n.º 14
0
        public void ManyResolverCannotGetValuesBeforeFreezeUnless()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            resolver.CanResolveBeforeFrozen = true;
            var values = resolver.ResolvedObjects;
        }
Ejemplo n.º 15
0
        public void ManyResolverCannotInsertBeforeInvalidType()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            //resolver.InsertTypeBefore<Resolved2, Resolved4>(); // does not compile
            resolver.InsertTypeBefore(typeof(Resolved2), typeof(Resolved4)); // throws
        }
Ejemplo n.º 16
0
        public void ManyResolverCannotInsertBeforeInvalidType()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            //resolver.InsertTypeBefore<Resolved2, Resolved4>(); // does not compile
            resolver.InsertTypeBefore(typeof(Resolved2), typeof(Resolved4)); // throws
        }
Ejemplo n.º 17
0
        public void ManyResolverContainsTypes()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Assert.IsTrue(resolver.ContainsType <Resolved1>());
            Assert.IsTrue(resolver.ContainsType <Resolved2>());
            Assert.IsFalse(resolver.ContainsType <Resolved3>());
            //Assert.IsFalse(resolver.ContainsType<Resolved4>()); // does not compile
        }
Ejemplo n.º 18
0
        public void ManyResolverCanClearBeforeFreeze()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>());

            resolver.AddType <Resolved1>();
            resolver.AddType <Resolved2>();
            resolver.Clear();
            Assert.IsFalse(resolver.ContainsType <Resolved1>());
            Assert.IsFalse(resolver.ContainsType <Resolved2>());
        }
Ejemplo n.º 19
0
        public void ManyResolverCanInsertBeforeTypeBeforeFreeze()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            resolver.InsertTypeBefore <Resolved2, Resolved3>();

            Assert.IsTrue(resolver.ContainsType <Resolved1>());
            Assert.IsTrue(resolver.ContainsType <Resolved2>());
            Assert.IsTrue(resolver.ContainsType <Resolved3>());
        }
Ejemplo n.º 20
0
        public void ManyResolverCanClearBeforeFreeze()
        {
            var resolver = new ManyResolver();

            resolver.AddType <Resolved1>();
            resolver.AddType <Resolved2>();
            resolver.Clear();
            Assert.IsFalse(resolver.ContainsType <Resolved1>());
            Assert.IsFalse(resolver.ContainsType <Resolved2>());
        }
Ejemplo n.º 21
0
        public void ManyResolverCanInsertBeforeTypeBeforeFreeze()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            resolver.InsertTypeBefore <Resolved2, Resolved3>();

            Assert.IsTrue(resolver.ContainsType <Resolved1>());
            Assert.IsTrue(resolver.ContainsType <Resolved2>());
            Assert.IsTrue(resolver.ContainsType <Resolved3>());
        }
Ejemplo n.º 22
0
        public void ManyResolverCanGetValuesOnceFrozen()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            var values = resolver.ResolvedObjects;

            Assert.AreEqual(2, values.Count());
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(1));
        }
Ejemplo n.º 23
0
        public void ManyResolverContainsTypes()
        {
            var resolver = new ManyResolver(
                new ActivatorServiceProvider(), Mock.Of <ILogger>(),
                new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Assert.IsTrue(resolver.ContainsType <Resolved1>());
            Assert.IsTrue(resolver.ContainsType <Resolved2>());
            Assert.IsFalse(resolver.ContainsType <Resolved3>());
            //Assert.IsFalse(resolver.ContainsType<Resolved4>()); // does not compile
        }
Ejemplo n.º 24
0
        public void ManyResolverWeightedResolution()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();

            var values = resolver.SortedResolvedObjects;

            Assert.AreEqual(2, values.Count());
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(1));
        }
Ejemplo n.º 25
0
        public void ManyResolverDefaultOrderOfTypes()
        {
            var resolver = new ManyResolver();

            resolver.AddType <Resolved3>();
            resolver.InsertType <Resolved1>(0);
            resolver.InsertTypeBefore <Resolved3, Resolved2>();
            Resolution.Freeze();
            var values = resolver.ResolvedObjects;

            Assert.AreEqual(3, values.Count());
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(1));
            Assert.IsInstanceOf <Resolved3>(values.ElementAt(2));
        }
Ejemplo n.º 26
0
        public void ManyResolverDefaultLifetimeScopeIsApplication()
        {
            var resolver = new ManyResolver(new ActivatorServiceProvider(), Mock.Of <ILogger>(), new Type[] { typeof(Resolved1), typeof(Resolved2) });

            Resolution.Freeze();
            var values = resolver.ResolvedObjects;

            Assert.AreEqual(2, values.Count());
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(1));

            var values2 = resolver.ResolvedObjects;

            Assert.AreEqual(2, values2.Count());
            Assert.AreSame(values.ElementAt(0), values2.ElementAt(0));
            Assert.AreSame(values.ElementAt(1), values2.ElementAt(1));
        }
Ejemplo n.º 27
0
        public void ManyResolverTransientLifetimeScope()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) }, ObjectLifetimeScope.Transient);

            Resolution.Freeze();
            var values = resolver.ResolvedObjects;

            Assert.AreEqual(2, values.Count());
            Assert.IsInstanceOf <Resolved1>(values.ElementAt(0));
            Assert.IsInstanceOf <Resolved2>(values.ElementAt(1));

            var values2 = resolver.ResolvedObjects;

            Assert.AreEqual(2, values2.Count());
            Assert.AreNotSame(values.ElementAt(0), values2.ElementAt(0));
            Assert.AreNotSame(values.ElementAt(1), values2.ElementAt(1));
        }
Ejemplo n.º 28
0
 public void ManyResolverCannotGetValuesBeforeFreeze()
 {
     var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });
     var values   = resolver.ResolvedObjects;
 }
Ejemplo n.º 29
0
        public void ManyResolverCannotInsertBeforeTypeAgain()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1), typeof(Resolved2) });

            resolver.InsertTypeBefore <Resolved2, Resolved1>();
        }
Ejemplo n.º 30
0
        public void ManyResolverCannotInsertBeforeAbsentType()
        {
            var resolver = new ManyResolver(new Type[] { typeof(Resolved1) });

            resolver.InsertTypeBefore <Resolved2, Resolved3>();
        }