public void AbstractClass() { JsonSerializerOptions options = new JsonSerializerOptions(); options.SetupExtensions(); options.GetObjectMappingRegistry().Register <AbstractBar>(objectMapping => objectMapping .AutoMap() .MapCreator(o => new Bar()) ); const string json = @"{""Bar"":{""Id"":12}}"; ObjectWithAbstractClass obj = Helper.Read <ObjectWithAbstractClass>(json, options); Assert.NotNull(obj); Assert.NotNull(obj.Bar); Assert.IsType <Bar>(obj.Bar); Assert.Equal(12, obj.Bar.Id); Helper.TestWrite(obj, json, options); }
public void AbstractClass() { CborOptions options = new CborOptions(); options.Registry.ObjectMappingRegistry.Register <AbstractBar>(objectMapping => objectMapping .AutoMap() .MapCreator(o => new Bar()) ); const string hexBuffer = "A163426172A16249640C"; ObjectWithAbstractClass obj = Helper.Read <ObjectWithAbstractClass>(hexBuffer, options); Assert.NotNull(obj); Assert.NotNull(obj.Bar); Assert.IsType <Bar>(obj.Bar); Assert.Equal(12, obj.Bar.Id); Helper.TestRead(hexBuffer, (ObjectWithAbstractClass)null, typeof(CborException)); Helper.TestWrite(obj, hexBuffer, null, options); }