DetectTypeStamp() 공개 메소드

public DetectTypeStamp ( System.Web.Mvc.ModelBindingContext bindingContext, IPropertyNameProvider propertyNameProvider ) : string
bindingContext System.Web.Mvc.ModelBindingContext
propertyNameProvider IPropertyNameProvider
리턴 string
        public void TypeStampIsFoundOnPageTest()
        {
            var valueProvider = MockRepository.GenerateMock<IValueProvider>();
            var propertyNameProvider = MockRepository.GenerateMock<IPropertyNameProvider>();

            propertyNameProvider.Expect(e => e.CreatePropertyName("test", DerivedTypeModelBinderCache.TypeStampFieldName)).Return("foo");
            valueProvider.Expect(b => b.ContainsPrefix("foo"))
                .Return(true);
            valueProvider.Expect(e => e.GetValue("foo")).Return(new ValueProviderResult(new[] { "bar" }, "foo",
                                                                                        CultureInfo.InvariantCulture));

            var typeStampOperator = new TypeStampOperator();

            Assert.That(typeStampOperator.DetectTypeStamp(
                new ModelBindingContext
                {
                    ModelMetadata =
                        new ModelMetadata(new EmptyModelMetadataProvider(), typeof(DerivedTypeModelBinder),
                                          null, typeof(DerivedTypeModelBinderTests), "propertyName"
                        ),
                    ModelName = "test",
                    ValueProvider = valueProvider
                }, propertyNameProvider), Is.EqualTo("bar"));
        }
        public void TypeStampFormattedReturnIsInvalid()
        {
            var valueProvider = MockRepository.GenerateMock<IValueProvider>();
            var propertyNameProvider = MockRepository.GenerateMock<IPropertyNameProvider>();

            propertyNameProvider.Expect(e => e.CreatePropertyName("test", DerivedTypeModelBinderCache.TypeStampFieldName)).Return("foo");
            valueProvider.Expect(b => b.ContainsPrefix("foo"))
                .Return(true);
            valueProvider.Expect(e => e.GetValue("foo")).Return(new ValueProviderResult(new DerivedTypeModelBinder(), "foo",
                                                                                        CultureInfo.InvariantCulture));

            var typeStampOperator = new TypeStampOperator();

            Assert.Throws<InvalidOperationException>(() => typeStampOperator.DetectTypeStamp(
                new ModelBindingContext
                {
                    ModelMetadata =
                        new ModelMetadata(new EmptyModelMetadataProvider(), typeof(DerivedTypeModelBinder),
                                          null, typeof(DerivedTypeModelBinderTests), "propertyName"
                        ),
                    ModelName = "test",
                    ValueProvider = valueProvider
                }, propertyNameProvider));
        }