public void CreateViewDataDictionary_UsesDeclaredTypeOverModelType_WhenCreatingTheViewDataDictionary() { // Arrange var modelMetadataProvider = new EmptyModelMetadataProvider(); var activator = new RazorPagePropertyActivator( typeof(TestPage), declaredModelType: typeof(TestModel), metadataProvider: modelMetadataProvider, propertyValueAccessors: null); var original = new ViewDataDictionary(modelMetadataProvider, new ModelStateDictionary()) { { "test-key", "test-value" }, }; var viewContext = new ViewContext { ViewData = original, }; // Act var viewDataDictionary = activator.CreateViewDataDictionary(viewContext); // Assert Assert.NotNull(viewDataDictionary); Assert.NotSame(original, viewDataDictionary); Assert.IsType <ViewDataDictionary <TestModel> >(viewDataDictionary); Assert.Equal("test-value", viewDataDictionary["test-key"]); }
public void CreateViewDataDictionary_ReturnsInstanceOnContext_IfModelTypeMatches() { // Arrange var modelMetadataProvider = new EmptyModelMetadataProvider(); var activator = new RazorPagePropertyActivator( typeof(TestPage), declaredModelType: typeof(TestModel), metadataProvider: modelMetadataProvider, propertyValueAccessors: null); var original = new ViewDataDictionary <TestModel>(modelMetadataProvider, new ModelStateDictionary()) { { "test-key", "test-value" }, }; var viewContext = new ViewContext { ViewData = original, }; // Act var viewDataDictionary = activator.CreateViewDataDictionary(viewContext); // Assert Assert.NotNull(viewDataDictionary); Assert.Same(original, viewDataDictionary); }
public void CreateViewDataDictionary_MakesNewInstanceWithObjectModelType_WhenValueOnContextAndModelTypeAreNull() { // Arrange var activator = new RazorPagePropertyActivator( typeof(TestPage), declaredModelType: null, metadataProvider: new EmptyModelMetadataProvider(), propertyValueAccessors: null); var viewContext = new ViewContext(); // Act var viewDataDictionary = activator.CreateViewDataDictionary(viewContext); // Assert Assert.NotNull(viewDataDictionary); Assert.IsType <ViewDataDictionary <object> >(viewDataDictionary); }
public void CreateViewDataDictionary_MakesNewInstance_WhenValueOnContextIsNull() { // Arrange var activator = new RazorPagePropertyActivator( typeof(TestPage), typeof(TestModel), new EmptyModelMetadataProvider(), propertyValueAccessors: null); var viewContext = new ViewContext(); // Act var viewDataDictionary = activator.CreateViewDataDictionary(viewContext); // Assert Assert.NotNull(viewDataDictionary); Assert.IsType <ViewDataDictionary <TestModel> >(viewDataDictionary); }