Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }