Exemplo n.º 1
0
        public void GetTypeDescriptor_InvokeObjectWithParent_ReturnsExpected(object instance, ICustomTypeDescriptor result)
        {
            var mockParentProvider = new Mock <TypeDescriptionProvider>(MockBehavior.Strict);

            mockParentProvider
            .Setup(p => p.GetTypeDescriptor(instance.GetType(), instance))
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider(mockParentProvider.Object);

            Assert.Same(result, provider.GetTypeDescriptor(instance));
            mockParentProvider.Verify(p => p.GetTypeDescriptor(instance.GetType(), instance), Times.Once());

            // Call again.
            Assert.Same(result, provider.GetTypeDescriptor(instance));
            mockParentProvider.Verify(p => p.GetTypeDescriptor(instance.GetType(), instance), Times.Exactly(2));
        }
Exemplo n.º 2
0
        public void GetRuntimeType_InvokeWithParent_ReturnsExpected(Type reflectionType, Type result)
        {
            var mockParentProvider = new Mock <TypeDescriptionProvider>(MockBehavior.Strict);

            mockParentProvider
            .Setup(p => p.GetRuntimeType(reflectionType))
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider(mockParentProvider.Object);

            Assert.Same(result, provider.GetRuntimeType(reflectionType));
            mockParentProvider.Verify(p => p.GetRuntimeType(reflectionType), Times.Once());

            // Call again.
            Assert.Same(result, provider.GetRuntimeType(reflectionType));
            mockParentProvider.Verify(p => p.GetRuntimeType(reflectionType), Times.Exactly(2));
        }
Exemplo n.º 3
0
        public void GetRuntimeType_InvokeWithoutParentWithUserDefinedType_RetunsUnderlyingSystemType(Type result)
        {
            var mockType = new Mock <Type>(MockBehavior.Strict);

            mockType
            .Setup(t => t.UnderlyingSystemType)
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider();

            Assert.Same(result, provider.GetRuntimeType(mockType.Object));
            mockType.Verify(t => t.UnderlyingSystemType, Times.Once());

            // Call again.
            Assert.Same(result, provider.GetRuntimeType(mockType.Object));
            mockType.Verify(t => t.UnderlyingSystemType, Times.Exactly(2));
        }
Exemplo n.º 4
0
        public void CreateInstance_InvokeWithParent_ReturnsExpected(IServiceProvider serviceProvider, Type objectType, Type[] argTypes, object[] args, object result)
        {
            var mockParentProvider = new Mock <TypeDescriptionProvider>(MockBehavior.Strict);

            mockParentProvider
            .Setup(p => p.CreateInstance(serviceProvider, objectType, argTypes, args))
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider(mockParentProvider.Object);

            Assert.Same(result, provider.CreateInstance(serviceProvider, objectType, argTypes, args));
            mockParentProvider.Verify(p => p.CreateInstance(serviceProvider, objectType, argTypes, args), Times.Once());

            // Call again.
            Assert.Same(result, provider.CreateInstance(serviceProvider, objectType, argTypes, args));
            mockParentProvider.Verify(p => p.CreateInstance(serviceProvider, objectType, argTypes, args), Times.Exactly(2));
        }
Exemplo n.º 5
0
        public void GetFullComponentName_InvokeWithParent_ReturnsExpected(object component, string result)
        {
            var mockParentProvider = new Mock <TypeDescriptionProvider>(MockBehavior.Strict);

            mockParentProvider
            .Setup(p => p.GetFullComponentName(component))
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider(mockParentProvider.Object);

            Assert.Same(result, provider.GetFullComponentName(component));
            mockParentProvider.Verify(p => p.GetFullComponentName(component), Times.Once());

            // Call again.
            Assert.Same(result, provider.GetFullComponentName(component));
            mockParentProvider.Verify(p => p.GetFullComponentName(component), Times.Exactly(2));
        }
Exemplo n.º 6
0
        public void GetExtenderProviders_InvokeWithParent_ReturnsExpected(object instance, IExtenderProvider[] result)
        {
            var mockParentProvider = new Mock <TypeDescriptionProvider>(MockBehavior.Strict);

            mockParentProvider
            .Protected()
            .Setup <IExtenderProvider[]>("GetExtenderProviders", instance ?? ItExpr.IsNull <object>())
            .Returns(result)
            .Verifiable();
            var provider = new SubTypeDescriptionProvider(mockParentProvider.Object);

            Assert.Same(result, provider.GetExtenderProviders(instance));
            mockParentProvider.Protected().Verify("GetExtenderProviders", Times.Once(), instance ?? ItExpr.IsNull <object>());

            // Call again.
            Assert.Same(result, provider.GetExtenderProviders(instance));
            mockParentProvider.Protected().Verify("GetExtenderProviders", Times.Exactly(2), instance ?? ItExpr.IsNull <object>());
        }
Exemplo n.º 7
0
        public void IsSupportedType_NullType_ThrowsArgumentNullException()
        {
            var provider = new SubTypeDescriptionProvider();

            AssertExtensions.Throws <ArgumentNullException>("type", () => provider.IsSupportedType(null));
        }
Exemplo n.º 8
0
        public void GetTypeDescriptor_NullInstance_ThrowsArgumentNullException()
        {
            var provider = new SubTypeDescriptionProvider();

            AssertExtensions.Throws <ArgumentNullException>("instance", () => provider.GetTypeDescriptor((object)null));
        }
Exemplo n.º 9
0
        public void CreateInstance_NullObjectType_ThrowsArgumentNullException()
        {
            var provider = new SubTypeDescriptionProvider();

            AssertExtensions.Throws <ArgumentNullException>("objectType", () => provider.CreateInstance(null, null, null, null));
        }
Exemplo n.º 10
0
        public void GetRuntimeType_NullReflectionType_ThrowsArgumentNullException()
        {
            var provider = new SubTypeDescriptionProvider();

            AssertExtensions.Throws <ArgumentNullException>("reflectionType", () => provider.GetRuntimeType(null));
        }
Exemplo n.º 11
0
        public void GetFullComponentName_NullComponent_ReturnsNull()
        {
            var provider = new SubTypeDescriptionProvider();

            AssertExtensions.Throws <ArgumentNullException>("instance", () => provider.GetFullComponentName(null));
        }