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