示例#1
0
        public void ShouldAssignTheTypeOfDerivedProperties()
        {
            var entity5 = new IDocumentWithPropertyTypeOverride5();
            var type5   = BlittableJsonConverter.GetPropertyType(nameof(entity5.Reference), entity5.GetType());

            Assert.Equal(typeof(IRefDerived_Class), type5);

            var entity4 = new DocumentWithPropertyTypeOverride4();
            var type4   = BlittableJsonConverter.GetPropertyType(nameof(entity4.Reference), entity4.GetType());

            Assert.Equal(typeof(RefDerived3), type4);

            var entity3 = new DocumentWithPropertyTypeOverride3();
            var type3   = BlittableJsonConverter.GetPropertyType(nameof(entity3.Reference), entity3.GetType());

            Assert.Equal(typeof(RefDerived3), type3);

            var entity2 = new DocumentWithPropertyTypeOverride2();
            var type2   = BlittableJsonConverter.GetPropertyType(nameof(entity2.Reference), entity2.GetType());

            Assert.Equal(typeof(RefDerived2), type2);

            var entity1 = new DocumentWithPropertyTypeOverride1();
            var type1   = BlittableJsonConverter.GetPropertyType(nameof(entity1.Reference), entity1.GetType());

            Assert.Equal(typeof(RefDerived2), type1);

            var entity0 = new DocumentBase();
            var type0   = BlittableJsonConverter.GetPropertyType(nameof(entity0.Reference), entity0.GetType());

            Assert.Equal(typeof(RefDerived1), type0);
        }
示例#2
0
 public NewtonsoftJsonSerializationConventions()
 {
     _defaultConverter         = new BlittableJsonConverter(this);
     _jsonEnumerableConverter  = new JsonEnumerableConverter(this);
     JsonContractResolver      = new DefaultRavenContractResolver(this);
     _ignoreByRefMembers       = false;
     _ignoreUnsafeMembers      = false;
     CustomizeJsonSerializer   = _ => { };
     CustomizeJsonDeserializer = _ => { };
 }