public void CopyConstructor_InitializesModelBasedOnSource_ModelMetadataBasedOnTModel() { // Arrange var metadataProvider = new EmptyModelMetadataProvider(); var model = new SupremeTestModel(); var source = new ViewDataDictionary(metadataProvider) { Model = model, }; // Act var viewData = new ViewDataDictionary <TestModel>(source); // Assert Assert.Same(model, viewData.Model); Assert.NotNull(viewData.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData.ModelMetadata); }
public void CopyConstructors_InitalizeModelAndModelMetadataBasedOnSource_ModelOfSubclass() { // Arrange var metadataProvider = new EmptyModelMetadataProvider(); var model = new SupremeTestModel(); var source = new ViewDataDictionary(metadataProvider) { Model = model, }; source["foo"] = "bar"; source.TemplateInfo.HtmlFieldPrefix = "prefix"; // Act var viewData1 = new ViewDataDictionary <TestModel>(source); var viewData2 = new ViewDataDictionary(source); // Assert Assert.NotNull(viewData1.ModelState); Assert.NotNull(viewData1.TemplateInfo); Assert.Equal("prefix", viewData1.TemplateInfo.HtmlFieldPrefix); Assert.NotSame(source.TemplateInfo, viewData1.TemplateInfo); Assert.Same(model, viewData1.Model); Assert.NotNull(viewData1.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData1.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData1.ModelMetadata); Assert.Equal(source.Count, viewData1.Count); Assert.Equal("bar", viewData1["foo"]); Assert.IsType <CopyOnWriteDictionary <string, object> >(viewData1.Data); Assert.NotNull(viewData2.ModelState); Assert.NotNull(viewData2.TemplateInfo); Assert.Equal("prefix", viewData2.TemplateInfo.HtmlFieldPrefix); Assert.NotSame(source.TemplateInfo, viewData2.TemplateInfo); Assert.Same(model, viewData2.Model); Assert.NotNull(viewData2.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData2.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData2.ModelMetadata); Assert.Equal(source.Count, viewData2.Count); Assert.Equal("bar", viewData2["foo"]); Assert.IsType <CopyOnWriteDictionary <string, object> >(viewData2.Data); }
public void CopyConstructors_InitalizeModelAndModelMetadataBasedOnSource_ModelOfSubclass() { // Arrange var metadataProvider = new EmptyModelMetadataProvider(); var model = new SupremeTestModel(); var source = new ViewDataDictionary(metadataProvider) { Model = model, }; source["foo"] = "bar"; source.TemplateInfo.HtmlFieldPrefix = "prefix"; // Act var viewData1 = new ViewDataDictionary<TestModel>(source); var viewData2 = new ViewDataDictionary(source); // Assert Assert.NotNull(viewData1.ModelState); Assert.NotNull(viewData1.TemplateInfo); Assert.Equal("prefix", viewData1.TemplateInfo.HtmlFieldPrefix); Assert.NotSame(source.TemplateInfo, viewData1.TemplateInfo); Assert.Same(model, viewData1.Model); Assert.NotNull(viewData1.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData1.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData1.ModelMetadata); Assert.Equal(source.Count, viewData1.Count); Assert.Equal("bar", viewData1["foo"]); Assert.IsType<CopyOnWriteDictionary<string, object>>(viewData1.Data); Assert.NotNull(viewData2.ModelState); Assert.NotNull(viewData2.TemplateInfo); Assert.Equal("prefix", viewData2.TemplateInfo.HtmlFieldPrefix); Assert.NotSame(source.TemplateInfo, viewData2.TemplateInfo); Assert.Same(model, viewData2.Model); Assert.NotNull(viewData2.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData2.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData2.ModelMetadata); Assert.Equal(source.Count, viewData2.Count); Assert.Equal("bar", viewData2["foo"]); Assert.IsType<CopyOnWriteDictionary<string, object>>(viewData2.Data); }
public void CopyConstructor_InitializesModelBasedOnSource_ModelMetadataBasedOnTModel() { // Arrange var metadataProvider = new EmptyModelMetadataProvider(); var model = new SupremeTestModel(); var source = new ViewDataDictionary(metadataProvider) { Model = model, }; // Act var viewData = new ViewDataDictionary<TestModel>(source); // Assert Assert.Same(model, viewData.Model); Assert.NotNull(viewData.ModelMetadata); Assert.Equal(typeof(SupremeTestModel), viewData.ModelMetadata.ModelType); Assert.Same(source.ModelMetadata, viewData.ModelMetadata); }