public void SubObjects() { Assert.True(PropertyBasedSerializationSurrogate.CanHandle(typeDataCache, FudgeFieldNameConvention.Identity, typeof(SubObjectClass))); var serializer = new FudgeSerializer(context); // We're relying on it auto-discovering the type surrogate var obj1 = new SubObjectClass(); obj1.Number = 17; obj1.Sub = new SimpleExampleClass { Name = "Bob", Age = 21 }; var msg = serializer.SerializeToMsg(obj1); var obj2 = (SubObjectClass)serializer.Deserialize(msg); Assert.NotSame(obj1, obj2); Assert.NotSame(obj1.Sub, obj2.Sub); Assert.Equal(obj1.Sub.Name, obj2.Sub.Name); }