示例#1
0
        public void CanSetupContainerService()
        {
            var desc = new RuntimeClassDescriptor(typeof(I).AssemblyQualifiedName, null);

            Assert.AreEqual(RuntimeClassResolutionType.ContainerService, desc.ResolutionType);
            Assert.AreEqual(typeof(I), desc.ResolvedType);
        }
示例#2
0
        public void CanActivateDirectType()
        {
            var desc   = new RuntimeClassDescriptor(typeof(A).AssemblyQualifiedName, null);
            var result = desc.Create();

            Assert.IsInstanceOf <A>(result);
        }
示例#3
0
        public void CanSetupContainerName()
        {
            var desc = new RuntimeClassDescriptor("my.component", null);

            Assert.AreEqual(RuntimeClassResolutionType.ContainerName, desc.ResolutionType);
            Assert.AreEqual("my.component", desc.SourceClassName);
        }
示例#4
0
        public void CanSetupWithUsualClass()
        {
            var desc = new RuntimeClassDescriptor(typeof(A).AssemblyQualifiedName, null);

            Assert.AreEqual(RuntimeClassResolutionType.Resolved, desc.ResolutionType);
            Assert.AreEqual(typeof(A), desc.ResolvedType);
        }
示例#5
0
        public void CanCreateInstanceFromContainerWithName()
        {
            var c = new Container();

            c.Register(new ComponentDefinition <I, A>(name: "my.c"));
            var desc = new RuntimeClassDescriptor("my.c", c);

            Assert.AreEqual(typeof(A), desc.GetActualType());
            Assert.IsInstanceOf <A>(desc.Create());
        }
示例#6
0
        public void CanCreateInstanceFromContainerWithService()
        {
            var c = new Container();

            c.Register(new ComponentDefinition <I, A>());
            var desc = new RuntimeClassDescriptor(typeof(I).AssemblyQualifiedName, c);

            Assert.AreEqual(typeof(A), desc.GetActualType());
            Assert.IsInstanceOf <A>(desc.Create());
        }
示例#7
0
        public void NoErrorIfContainerIsNull()
        {
            var desc = new RuntimeClassDescriptor(typeof(I).AssemblyQualifiedName, null);

            Assert.AreEqual(RuntimeClassResolutionType.ContainerService, desc.ResolutionType);
            Assert.Null(desc.GetActualType());
            var desc2 = new RuntimeClassDescriptor("my.component", null);

            Assert.AreEqual(RuntimeClassResolutionType.ContainerName, desc2.ResolutionType);
            Assert.Null(desc2.GetActualType());
        }
示例#8
0
        public void CanSetupNotResolvedState()
        {
            var desc = new RuntimeClassDescriptor("NOT_" + typeof(A).AssemblyQualifiedName, null);

            Assert.AreEqual(RuntimeClassResolutionType.NotResolved, desc.ResolutionType);
        }
示例#9
0
        public void CanSetupNotDefinedState()
        {
            var desc = new RuntimeClassDescriptor(null, null);

            Assert.AreEqual(RuntimeClassResolutionType.NotDefined, desc.ResolutionType);
        }