Exemplo n.º 1
0
        public void Union()
        {
            {
                var data = new MySubUnion1 {
                    One = 23
                };
                var data2 = new MySubUnion1 {
                    One = 23
                };

                var unionData1 = MessagePackSerializer.Serialize <IUnionChecker>(data);
                var unionData2 = MessagePackSerializer.Serialize <IUnionChecker2>(data2);

                var reData1 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1);
                var reData2 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1);

                reData1.IsInstanceOf <IUnionChecker>();
                reData2.IsInstanceOf <IUnionChecker2>();

                var null1 = MessagePackSerializer.Serialize <IUnionChecker>(null);

                var null2 = MessagePackSerializer.Serialize <IUnionChecker2>(null);

                MessagePackSerializer.Deserialize <IUnionChecker>(null1).IsNull();
                MessagePackSerializer.Deserialize <IUnionChecker2>(null1).IsNull();


                var hoge = MessagePackSerializer.Serialize <IIVersioningUnion>(new VersioningUnion {
                    FV = 0
                });
                MessagePackSerializer.Deserialize <IUnionChecker>(hoge).IsNull();
            }
            {
                var data = new MySubUnion2 {
                    Two = 23
                };
                var data2 = new MySubUnion2 {
                    Two = 23
                };

                var unionData1 = MessagePackSerializer.Serialize <IUnionChecker>(data);
                var unionData2 = MessagePackSerializer.Serialize <IUnionChecker2>(data2);

                var reData1 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1);
                var reData2 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1);

                reData1.IsInstanceOf <IUnionChecker>();
                reData2.IsInstanceOf <IUnionChecker2>();

                var null1 = MessagePackSerializer.Serialize <IUnionChecker>(null);
                var null2 = MessagePackSerializer.Serialize <IUnionChecker2>(null);

                MessagePackSerializer.Deserialize <IUnionChecker>(null1).IsNull();
                MessagePackSerializer.Deserialize <IUnionChecker2>(null1).IsNull();


                var hoge = MessagePackSerializer.Serialize <IIVersioningUnion>(new VersioningUnion {
                    FV = 0
                });
                MessagePackSerializer.Deserialize <IUnionChecker>(hoge).IsNull();
            }
        }
Exemplo n.º 2
0
        public void Union()
        {
            {
                var data = new MySubUnion1 {
                    One = 23
                };
                var data2 = new MySubUnion1 {
                    One = 23
                };

                var unionData1 = MessagePackSerializer.Serialize <IUnionChecker>(data, MsgPackUnsafeDefaultResolver.Options);
                var unionData2 = MessagePackSerializer.Serialize <IUnionChecker2>(data2, MsgPackUnsafeDefaultResolver.Options);

                var reData1 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1, MsgPackUnsafeDefaultResolver.Options);
                var reData2 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1, MsgPackUnsafeDefaultResolver.Options);

                reData1.IsInstanceOf <IUnionChecker>();
                reData2.IsInstanceOf <IUnionChecker2>();

                var null1 = MessagePackSerializer.Serialize <IUnionChecker>(null, MsgPackUnsafeDefaultResolver.Options);

                var null2 = MessagePackSerializer.Serialize <IUnionChecker2>(null, MsgPackUnsafeDefaultResolver.Options);

                MessagePackSerializer.Deserialize <IUnionChecker>(null1, MsgPackUnsafeDefaultResolver.Options).IsNull();
                MessagePackSerializer.Deserialize <IUnionChecker2>(null1, MsgPackUnsafeDefaultResolver.Options).IsNull();

                var hoge = MessagePackSerializer.Serialize <IIVersioningUnion>(new VersioningUnion {
                    FV = 0
                }, MsgPackUnsafeDefaultResolver.Options);
                MessagePackSerializer.Deserialize <IUnionChecker>(hoge, MsgPackUnsafeDefaultResolver.Options).IsNull();
            }

            {
                var data = new MySubUnion2 {
                    Two = 23
                };
                var data2 = new MySubUnion2 {
                    Two = 23
                };

                var unionData1 = MessagePackSerializer.Serialize <IUnionChecker>(data, MsgPackUnsafeDefaultResolver.Options);
                var unionData2 = MessagePackSerializer.Serialize <IUnionChecker2>(data2, MsgPackUnsafeDefaultResolver.Options);

                var reData1 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1, MsgPackUnsafeDefaultResolver.Options);
                var reData2 = MessagePackSerializer.Deserialize <IUnionChecker>(unionData1, MsgPackUnsafeDefaultResolver.Options);

                reData1.IsInstanceOf <IUnionChecker>();
                reData2.IsInstanceOf <IUnionChecker2>();

                var null1 = MessagePackSerializer.Serialize <IUnionChecker>(null, MsgPackUnsafeDefaultResolver.Options);
                var null2 = MessagePackSerializer.Serialize <IUnionChecker2>(null, MsgPackUnsafeDefaultResolver.Options);

                MessagePackSerializer.Deserialize <IUnionChecker>(null1, MsgPackUnsafeDefaultResolver.Options).IsNull();
                MessagePackSerializer.Deserialize <IUnionChecker2>(null1, MsgPackUnsafeDefaultResolver.Options).IsNull();

                var hoge = MessagePackSerializer.Serialize <IIVersioningUnion>(new VersioningUnion {
                    FV = 0
                }, MsgPackUnsafeDefaultResolver.Options);
                MessagePackSerializer.Deserialize <IUnionChecker>(hoge, MsgPackUnsafeDefaultResolver.Options).IsNull();
            }
        }