Esempio n. 1
0
        public async Task when_message_passed_with_protected_setters__maps_that_to_proper_xml()
        {
            var testMessage = _fixture.Create <TestMessageWithProtectedSetters>();
            var message     = new Message(new Dictionary <string, string>(), testMessage);

            _options = new XmlSerializingOptions()
            {
                IncludeBaseTypeNamespaces = false
            };

            var transportMessage = await Sut
                                   .Serialize(message)
                                   .ConfigureAwait(false);

            var result         = transportMessage.Body;
            var resultAsString = Encoding.UTF8.GetString(result);

            resultAsString
            .Should()
            .Be(
                $"<?xml version=\"1.0\"?>" +
                $"<Messages xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"{new Uri(_options.DefaultNamespacePrefix) + typeof(TestMessageWithProtectedSetters).Namespace}\">" +
                $"<{nameof(TestMessageWithProtectedSetters)}>" +
                $"<GuidProp>{testMessage.GuidProp}</GuidProp>" +
                $"<EnumProp>{testMessage.EnumProp.ToString()}</EnumProp>" +
                $"<DateTimeProp>{JsonConvert.SerializeObject(testMessage.DateTimeProp).Replace("\"", "")}</DateTimeProp>" +
                $"</{nameof(TestMessageWithProtectedSetters)}>" +
                $"</Messages>"
                );
        }
Esempio n. 2
0
 public XmlSerializerTests(ITestOutputHelper outputHelper)
 {
     _fixture = new Fixture();
     _options = new XmlSerializingOptions();
     _logger  = new XunitLoggerProvider(outputHelper)
                .CreateLogger(nameof(XmlSerializerTests));
 }
Esempio n. 3
0
        public async Task when_passed_message_with_base_types__maps_to_xml_object_with_base_types_in_root_container()
        {
            var testMessage = _fixture.Create <TestMessageWithBaseTypes>();
            var message     = new Message(new Dictionary <string, string>(), testMessage);

            _options = new XmlSerializingOptions();

            var transportMessage = await Sut
                                   .Serialize(message)
                                   .ConfigureAwait(false);

            var result         = transportMessage.Body;
            var resultAsString = Encoding.UTF8.GetString(result);

            resultAsString.Should()
            .Contain(
                "xmlns=\"http://tempuri.org/ReBus.Serializer.XML.UnitTests.Messages.BaseTypes\" xmlns:baseType=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.IAmImplementedInterface\" xmlns:baseType1=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.SubClass\" xmlns:baseType2=\"ReBus.Serializer.XML.UnitTests.Messages.BaseTypes.RootClass\""
                );
        }
Esempio n. 4
0
        public static XmlSerializer UseXmlSerializing(
            this StandardConfigurer <ISerializer> configurer,
            ILogger logger,
            XmlSerializingOptions options = null
            )
        {
            if (configurer == null)
            {
                throw new ArgumentNullException(nameof(configurer));
            }

            var instance = new XmlSerializer(options ?? new XmlSerializingOptions());

            instance.WithLogging(logger);

            configurer.Register(r => instance);

            return(instance);
        }
Esempio n. 5
0
 public static XmlSerializer UseXmlSerializing(
     this StandardConfigurer <ISerializer> configurer,
     XmlSerializingOptions options = null
     ) => UseXmlSerializing(configurer, null, options);