Example #1
0
        M2 CreateM2()
        {
            var o = new M2
            {
                Id      = Guid.NewGuid(),
                Age     = 10,
                Address = Guid.NewGuid().ToString(),
                Int     = 7,
                Name    = "udi",
                Risk    = new Risk
                {
                    Percent  = 0.15D,
                    Annum    = true,
                    Accuracy = 0.314M
                },
                Some     = SomeEnum.B,
                Start    = DateTime.Now,
                Duration = TimeSpan.Parse("-01:15:27.123"),
                Offset   = DateTimeOffset.Now,
                Parent   = new M1
                {
                    Age     = 10,
                    Address = Guid.NewGuid().ToString(),
                    Int     = 7,
                    Name    = "-1",
                    Risk    = new Risk
                    {
                        Percent  = 0.15D,
                        Annum    = true,
                        Accuracy = 0.314M
                    }
                },
                Names = new List <M1>()
            };

            for (var i = 0; i < number; i++)
            {
                var m1 = new M1();
                o.Names.Add(m1);
                m1.Age     = 10;
                m1.Address = Guid.NewGuid().ToString();
                m1.Int     = 7;
                m1.Name    = i.ToString();
                m1.Risk    = new Risk
                {
                    Percent  = 0.15D,
                    Annum    = true,
                    Accuracy = 0.314M
                };
            }

            o.MoreNames = o.Names.ToArray();

            return(o);
        }
Example #2
0
        private M2 CreateM2()
        {
            var o = new M2();

            o.Id      = Guid.NewGuid();
            o.Age     = 10;
            o.Address = Guid.NewGuid().ToString();
            o.Int     = 7;
            o.Name    = "udi";
            o.Risk    = new Risk {
                Percent = 0.15D, Annum = true, Accuracy = 0.314M
            };
            o.Some     = SomeEnum.B;
            o.Start    = DateTime.Now;
            o.Duration = TimeSpan.Parse("-01:15:27.123");
            o.Offset   = DateTimeOffset.Now;

            o.Parent         = new M1();
            o.Parent.Name    = "udi";
            o.Parent.Age     = 10;
            o.Parent.Address = Guid.NewGuid().ToString();
            o.Parent.Int     = 7;
            o.Parent.Name    = "-1";
            o.Parent.Risk    = new Risk {
                Percent = 0.15D, Annum = true, Accuracy = 0.314M
            };

            o.Names = new List <M1>();
            for (var i = 0; i < number; i++)
            {
                var m1 = new M1();
                o.Names.Add(m1);
                m1.Age     = 10;
                m1.Address = Guid.NewGuid().ToString();
                m1.Int     = 7;
                m1.Name    = i.ToString();
                m1.Risk    = new Risk {
                    Percent = 0.15D, Annum = true, Accuracy = 0.314M
                };
            }

            o.MoreNames = o.Names.ToArray();

            return(o);
        }
        public void Execute()
        {
            var m1 = new M1();
            var m2_1 = new M2();
            var m2_2 = new M2();
            var m2_3 = new M2();

            using (Stream stream = new MemoryStream())
            {
                var serializer = SerializerFactory.Create(typeof(IMyBusMessage), typeof(M1), typeof(M2));
                serializer.Serialize(new object[] {m1, m2_1, m2_2, m2_3}, stream);

                stream.Position = 0;

                var messageDeserialized = serializer.Deserialize(stream);
                Assert.IsInstanceOf<M1>(messageDeserialized[0]);
                Assert.IsInstanceOf<M2>(messageDeserialized[1]);
                Assert.IsInstanceOf<M2>(messageDeserialized[2]);
                Assert.IsInstanceOf<M2>(messageDeserialized[3]);
            }
        }
        public void Should_throw_an_exception()
        {
           var m2_1 = new M2();
           var m2_2 = new M2();
           var m2_3 = new M2();

           using (Stream stream = new MemoryStream())
           {
               var serializer = SerializerFactory.Create(typeof(IMyBusMessage), typeof(M1), typeof(M2));
               //var exception = Assert.Throws<Exception>(() => serializer.Initialize(new[] { typeof(IMyBusMessage), typeof(M1), typeof(M2) }));
               //Assert.AreEqual("Nested types are not supported by the XmlMessageSerializer.", exception.Message);
               var m1 = new M1();
               serializer.Serialize(new object[] {m1, m2_1, m2_2, m2_3}, stream);
               stream.Position = 0;
               var messageDeserialized = serializer.Deserialize(stream);
               Assert.IsInstanceOf<M1>(messageDeserialized[0]);
               Assert.IsInstanceOf<M2>(messageDeserialized[1]);
               Assert.IsInstanceOf<M2>(messageDeserialized[2]);
               Assert.IsInstanceOf<M2>(messageDeserialized[3]);
           }

        }