コード例 #1
0
        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"));
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }