Ejemplo n.º 1
0
        public void LiteContainer_RegisterConcreteTypeTwice_ThrowsInvalidOperationException()
        {
            var c = new LiteContainer();

            c.Register(() => new Number(2));

            AssertThrowsExceptionOfType <InvalidOperationException>(() => c.Register(() => new Number(3)));
        }
Ejemplo n.º 2
0
        public void LiteContainer_ResolveTypeAsInterface_CanResolveType()
        {
            var c = new LiteContainer();

            c.Register <Person>(() => new Student("Jim"));

            var instance = c.Resolve <Person>();

            Assert.AreEqual("Jim", instance.Name);
        }
Ejemplo n.º 3
0
        public void LiteContainer_ResolveConcreteRegisteredType_TypeIsCorrect()
        {
            var c = new LiteContainer();

            c.Register(() => new Number(2));

            var instance = c.Resolve <Number>();

            Assert.AreEqual(2, instance.Value);
        }
Ejemplo n.º 4
0
        public void LiteContainer_RegisterSingleton_ReturnsSameReference()
        {
            var c = new LiteContainer();

            c.RegisterSingleton(() => new Number(3));

            var instance1 = c.Resolve <Number>();
            var instance2 = c.Resolve <Number>();

            Assert.IsTrue(ReferenceEquals(instance1, instance2));
        }
Ejemplo n.º 5
0
        public void LiteContainer_ResolveUnknownInterfaceType_ThrowsKeyNotFoundException()
        {
            var c = new LiteContainer();

            AssertThrowsExceptionOfType <KeyNotFoundException>(() => c.Resolve <Person>());
        }
Ejemplo n.º 6
0
        public void LiteContainer_ResolveUnknownConcreteType_ThrowsKeyNotFoundException()
        {
            var c = new LiteContainer();

            AssertThrowsExceptionOfType <KeyNotFoundException>(() => c.Resolve <Number>());
        }