Exemplo n.º 1
0
        public void CreateSimplePropertyMixin()
        {
            var simpleType1 = new SimpleType1()
            {
                Name    = "Mr Mixin",
                Address = "Somewhere Street"
            };

            var simpleType2 = new SimpleType2()
            {
                PhoneNo = "0800 123456"
            };

            var mixin = new object[] { simpleType1, simpleType2 }
            .CreateMixin <ISimpleMixin>();

            Assert.IsNotNull(mixin);
            Assert.IsTrue(mixin.IsMixin());
            Assert.AreEqual("Mr Mixin", mixin.Name);
            Assert.AreEqual("Somewhere Street", mixin.Address);
            Assert.AreEqual("0800 123456", mixin.PhoneNo);

            var mixinObjects = ((IMixinObject)mixin).MixinObjects;

            Assert.IsNotNull(mixinObjects);
            Assert.AreEqual(simpleType1, mixinObjects[0]);
            Assert.AreEqual(simpleType2, mixinObjects[1]);
        }
        public void Complex()
        {
            var         ctOrg = ComplexType1.Sample();
            var         bytes = MessagePackSerializer.Serialize(ctOrg);
            string      test  = MessagePackSerializer.ToJson(bytes);
            var         ctDes = MessagePackSerializer.Deserialize <ComplexType1>(bytes);
            SimpleType1 stOrg = ctOrg.Simple1.First();
            SimpleType1 stDes = ctDes.Simple1.First();

            Assert.Equal(stOrg.Id, stOrg.Id);
            Assert.Equal(stDes.Address.Address1, stDes.Address.Address1);
        }
        public void Simple()
        {
            var         ct = ComplexType1.Sample();
            SimpleType1 s1 = ct.Simple1.First();
            //MessagePackSerializer.SetDefaultResolver(ContractlessStandardResolver.Instance);
            var    bytes = MessagePackSerializer.Serialize(s1);
            string test  = MessagePackSerializer.ToJson(bytes);
            var    s2    = MessagePackSerializer.Deserialize <SimpleType1>(bytes);

            Assert.Equal(s1.Id, s2.Id);
            Assert.Equal(s1.Address.Address1, s2.Address.Address1);
        }