Ejemplo n.º 1
0
        public void FromStringExpressionContainerTest()
        {
            // Arrange
            Mock <ModelMetadataProvider> provider = new Mock <ModelMetadataProvider>();
            DummyModelContainer          model    = new DummyModelContainer {
                Model = new DummyContactModel()
            };
            ViewDataDictionary viewData = new ViewDataDictionary();

            viewData["Object"] = model;
            provider
            .Setup(
                p =>
                p.GetMetadataForProperty(
                    It.IsAny <Func <object> >(),
                    It.IsAny <Type>(),
                    It.IsAny <string>()
                    )
                )
            .Returns <Func <object>, Type, string>(
                (accessor, type, propertyName) =>
            {
                return(new ModelMetadata(
                           provider.Object,
                           model.GetType(),
                           accessor,
                           type,
                           propertyName
                           ));
            }
                );

            // Act
            ModelMetadata metadata = ModelMetadata.FromStringExpression(
                "Object.Model",
                viewData,
                provider.Object
                );

            // Assert
            Assert.Same(model, metadata.Container);
        }
        public void FromStringExpressionContainerTest()
        {
            // Arrange
            Mock<ModelMetadataProvider> provider = new Mock<ModelMetadataProvider>();
            DummyModelContainer model = new DummyModelContainer { Model = new DummyContactModel() };
            ViewDataDictionary viewData = new ViewDataDictionary();
            viewData["Object"] = model;
            provider.Setup(p => p.GetMetadataForProperty(It.IsAny<Func<object>>(), It.IsAny<Type>(), It.IsAny<string>()))
                .Returns<Func<object>, Type, string>((accessor, type, propertyName) =>
                {
                    return new ModelMetadata(provider.Object, model.GetType(), accessor, type, propertyName);
                });

            // Act
            ModelMetadata metadata = ModelMetadata.FromStringExpression("Object.Model", viewData, provider.Object);

            // Assert
            Assert.Same(model, metadata.Container);
        }