Exemple #1
0
        public void RoundtripAliasOverride()
        {
            var writer = new StringWriter();
            var input  = new NameConvention {
                AliasTest = "Fourth"
            };

            var attribute = new YamlMemberAttribute();

            attribute.Alias = "fourthOverride";

            var serializer = new SerializerBuilder()
                             .WithAttributeOverride <NameConvention>(nc => nc.AliasTest, attribute)
                             .Build();

            serializer.Serialize(writer, input, input.GetType());
            var text = writer.ToString();

            // Todo: use RegEx once FluentAssertions 2.2 is released
            text.TrimEnd('\r', '\n').Should().Be("fourthOverride: Fourth");

            DeserializerBuilder.WithAttributeOverride <NameConvention>(n => n.AliasTest, attribute);
            var output = Deserializer.Deserialize <NameConvention>(UsingReaderFor(text));

            output.AliasTest.Should().Be(input.AliasTest);
        }
Exemple #2
0
 public static DeserializerBuilder WithAttributeOverride <TClass>(this DeserializerBuilder builder, Expression <Func <TClass, object> > propertyAccessor, Attribute attribute)
 {
     return(builder.WithAttributeOverride(typeof(TClass), propertyAccessor.AsProperty().Name, attribute));
 }