コード例 #1
0
        public void MixesAliasAndNormalNameWhenDeserializing()
        {
            BsonConfiguration.ForType <Skinny>(t => t.UseAlias(p => p.Nint, "id"));

            var result = Serializer.Serialize(new { id = 43, String = "abc" });
            var o      = Deserializer.Deserialize <Skinny>(result);

            Assert.AreEqual(43, o.Nint);
            Assert.AreEqual("abc", o.String);
        }
コード例 #2
0
        public void IgnoresPropertyWhenDeserializing()
        {
            BsonConfiguration.ForType <Skinny>(t => t.Ignore(p => p.Nint));

            var result = Serializer.Serialize(new { Nint = 43, String = "abc" });
            var o      = Deserializer.Deserialize <Skinny>(result);

            Assert.AreEqual(null, o.Nint);
            Assert.AreEqual("abc", o.String);
        }
コード例 #3
0
        public void UsesAliasWhenDeserializing()
        {
            BsonConfiguration.ForType <Skinny>(t =>
            {
                t.UseAlias(p => p.Nint, "id");
                t.UseAlias(p => p.String, "str");
            });

            var result = Serializer.Serialize(new { id = 43, str = "abc" });
            var o      = Deserializer.Deserialize <Skinny>(result);

            Assert.AreEqual(43, o.Nint);
            Assert.AreEqual("abc", o.String);
        }
コード例 #4
0
        public void IgnoresMultiplePropertyWhenSerializing()
        {
            BsonConfiguration.ForType <Skinny>(t =>
            {
                t.Ignore(p => p.Nint);
                t.Ignore(p => p.String);
            });

            var result = Serializer.Serialize(new Skinny {
                Nint = 43, String = "abc"
            });

            Assert.AreEqual(5, BitConverter.ToInt32(result, 0));
        }
コード例 #5
0
        public void IgnoresPropertyWhenSerializing()
        {
            BsonConfiguration.ForType <Skinny>(t => t.Ignore(p => p.Nint));

            var result = Serializer.Serialize(new Skinny {
                Nint = 43, String = "abc"
            });

            Assert.AreEqual(21, BitConverter.ToInt32(result, 0));
            Assert.AreEqual((byte)'S', result[5]);
            Assert.AreEqual((byte)'t', result[6]);
            Assert.AreEqual((byte)'r', result[7]);
            Assert.AreEqual((byte)'i', result[8]);
            Assert.AreEqual((byte)'n', result[9]);
            Assert.AreEqual((byte)'g', result[10]);
            Assert.AreEqual((byte)0, result[11]);
        }
コード例 #6
0
        public void MixesAliasAndNormalNameWhenSerializing()
        {
            BsonConfiguration.ForType <Skinny>(t => t.UseAlias(p => p.Nint, "id"));

            var result = Serializer.Serialize(new Skinny {
                Nint = 43, String = "abc"
            });

            Assert.AreEqual((byte)'i', result[5]);
            Assert.AreEqual((byte)'d', result[6]);
            Assert.AreEqual((byte)0, result[7]);

            Assert.AreEqual((byte)'S', result[13]);
            Assert.AreEqual((byte)'t', result[14]);
            Assert.AreEqual((byte)'r', result[15]);
            Assert.AreEqual((byte)'i', result[16]);
            Assert.AreEqual((byte)'n', result[17]);
            Assert.AreEqual((byte)'g', result[18]);
            Assert.AreEqual((byte)0, result[19]);
        }
コード例 #7
0
        public void UsesAliasWhenSerializing()
        {
            BsonConfiguration.ForType <Skinny>(t =>
            {
                t.UseAlias(p => p.Nint, "id");
                t.UseAlias(p => p.String, "str");
            });

            var result = Serializer.Serialize(new Skinny {
                Nint = 43, String = "abc"
            });

            Assert.AreEqual((byte)'i', result[5]);
            Assert.AreEqual((byte)'d', result[6]);
            Assert.AreEqual((byte)0, result[7]);

            Assert.AreEqual((byte)'s', result[13]);
            Assert.AreEqual((byte)'t', result[14]);
            Assert.AreEqual((byte)'r', result[15]);
            Assert.AreEqual((byte)0, result[16]);
        }