示例#1
0
        public void IgnoresPropertiesConfiguredForIgnoring()
        {
            IMongoConfigurationMap cfg = new MongoConfigurationMap();
            cfg.For<User>(u => u.ForProperty(p => p.LastName).Ignore());

            User u1 = new User() { FirstName = "Peter", LastName = "Engstrom" };

            var bytes = BsonSerializer.Serialize(u1);
            var u2 = BsonDeserializer.Deserialize<User>(bytes);

            Assert.Equal(u1.FirstName, u2.FirstName);
            Assert.Null(u2.LastName);
        }
示例#2
0
        public void SerializesClassWithCustomValueObjectUsingCustomTypeConverter()
        {
            IMongoConfigurationMap cfg = new MongoConfigurationMap();

            cfg.TypeConverterFor <NonSerializableValueObject, NonSerializableValueObjectTypeConverter>();
            BsonSerializer.UseConfiguration(cfg);

            // Verify that a contained, normally unserializable, value can be serialized with a proper type converter
            var s1 = new NonSerializableClass()
            {
                Value = new NonSerializableValueObject("12345"),
                Text  = "Abc"
            };
            var bytes = BsonSerializer.Serialize(s1);
            var s2    = BsonDeserializer.Deserialize <NonSerializableClass>(bytes);

            Assert.Equal(s1.Value.Number, s2.Value.Number);
            Assert.Equal(s1.Text, s2.Text);

            BsonSerializer.UseConfiguration(null);
        }
示例#3
0
        public void SerializesClassWithCustomValueObjectUsingCustomTypeConverter()
        {
            IMongoConfigurationMap cfg = new MongoConfigurationMap();
            cfg.TypeConverterFor<NonSerializableValueObject, NonSerializableValueObjectTypeConverter>();
            BsonSerializer.UseConfiguration(cfg);

            // Verify that a contained, normally unserializable, value can be serialized with a proper type converter
            var s1 = new NonSerializableClass()
                {
                    Value = new NonSerializableValueObject("12345"),
                    Text = "Abc"
                };
            var bytes = BsonSerializer.Serialize(s1);
            var s2 = BsonDeserializer.Deserialize<NonSerializableClass>(bytes);
            Assert.Equal(s1.Value.Number, s2.Value.Number);
            Assert.Equal(s1.Text, s2.Text);

            BsonSerializer.UseConfiguration(null);
        }