public void TryReplace_UsesCustomConverter() { // Arrange var adapter = new PocoAdapter(); var contractResolver = new RectangleContractResolver(); var model = new Square() { Rectangle = new Rectangle() { RectangleProperty = "Square" } }; // Act var replaceStatus = adapter.TryReplace(model, "Rectangle", contractResolver, "Oval", out var errorMessage); // Assert Assert.Equal("Oval", model.Rectangle.RectangleProperty); Assert.True(replaceStatus); }
public void TryReplace_UsesCustomConverter() { // Arrange var adapter = new DynamicObjectAdapter(); dynamic target = new WriteOnceDynamicTestObject(); target.NewProperty = new Rectangle(); var segment = "NewProperty"; var resolver = new RectangleContractResolver(); // Act var status = adapter.TryReplace(target, segment, resolver, "new", out string errorMessage); // Assert Assert.True(status); Assert.Null(errorMessage); Assert.True(target.NewProperty is Rectangle); var rect = (Rectangle)target.NewProperty; Assert.Equal("new", rect.RectangleProperty); }
public void Replace_UsesCustomConverter() { // Arrange var nameKey = "Name"; var dictionary = new Dictionary <string, Rectangle>(StringComparer.Ordinal); dictionary.Add(nameKey, new Rectangle() { RectangleProperty = "Mike" }); var dictionaryAdapter = new DictionaryAdapter <string, Rectangle>(); var resolver = new RectangleContractResolver(); // Act var replaceStatus = dictionaryAdapter.TryReplace(dictionary, nameKey, resolver, "James", out var message); // Assert Assert.True(replaceStatus); Assert.True(string.IsNullOrEmpty(message), "Expected no error message"); Assert.Single(dictionary); Assert.Equal("James", dictionary[nameKey].RectangleProperty); }