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); }
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); }
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); }