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"));
}