public void VerifyWithParameterAndProperty() { var container = new ConfigurationContainer(); container.EnableMarkupExtensions(); var serializer = new SerializationSupport(container); var subject = serializer.Deserialize <Subject>(@"<?xml version=""1.0"" encoding=""utf-8""?><MarkupExtensionTests-Subject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ExtensionModel.Markup;assembly=ExtendedXmlSerializer.Tests"" PropertyName=""{MarkupExtensionTests-Extension 'Provided Message!', Number=3 * 4}"" />"); subject.PropertyName.Should().Be(string.Concat(Extension.Message, "Provided Message!", " 12")); }
public void VerifyMarkupExtension() { var container = new ConfigurationContainer(); container.EnableMarkupExtensions(); var serializer = new SerializationSupport(container); var subject = serializer.Deserialize <TypedSubject>(@"<?xml version=""1.0"" encoding=""utf-8""?><MarkupExtensionTests-TypedSubject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ExtensionModel.Markup;assembly=ExtendedXmlSerializer.Tests"" xmlns:exs=""https://extendedxmlserializer.github.io/v2"" xmlns:sys=""https://extendedxmlserializer.github.io/system"" AnotherProperty=""{MarkupExtensionTests-TypeName {exs:Type sys:dateTime}}"" />"); subject.AnotherProperty.Should().Be(typeof(DateTime).AssemblyQualifiedName); }
public void VerifyStatic() { var container = new ConfigurationContainer(); container.EnableMarkupExtensions(); var serializer = new SerializationSupport(container); var subject = serializer.Deserialize <DatedSubject>(@"<?xml version=""1.0"" encoding=""utf-8""?><MarkupExtensionTests-DatedSubject xmlns=""clr-namespace:ExtendedXmlSerializer.Tests.ExtensionModel.Markup;assembly=ExtendedXmlSerializer.Tests"" xmlns:exs=""https://extendedxmlserializer.github.io/v2"" xmlns:sys=""https://extendedxmlserializer.github.io/system"" Date=""{exs:Static sys:dateTime.Now}"" DateNullable=""{exs:Static sys:dateTime.Now}"" />"); subject.Date.Should().NotBe(default(DateTime)).And.BeAfter(DateTime.Today); subject.DateNullable.Should().NotBeNull().And.BeAfter(DateTime.Today); }