public void ListOfSubObjects()
        {
            Assert.True(PropertyBasedSerializationSurrogate.CanHandle(typeDataCache, FudgeFieldNameConvention.Identity, typeof(ListOfObjectsClass)));

            var serializer = new FudgeSerializer(context);      // We're relying on it auto-discovering the type surrogate

            var obj1 = new ListOfObjectsClass();

            obj1.Subs.Add(new SimpleExampleClass {
                Name = "Bob", Age = 21
            });

            var msg  = serializer.SerializeToMsg(obj1);
            var obj2 = (ListOfObjectsClass)serializer.Deserialize(msg);

            Assert.NotSame(obj1, obj2);
            Assert.NotSame(obj1.Subs[0], obj2.Subs[0]);
            Assert.Equal(obj1.Subs[0].Name, obj2.Subs[0].Name);
        }
        public void ListOfSubObjects()
        {
            Assert.True(PropertyBasedSerializationSurrogate.CanHandle(typeDataCache, FudgeFieldNameConvention.Identity, typeof(ListOfObjectsClass)));

            var serializer = new FudgeSerializer(context);      // We're relying on it auto-discovering the type surrogate

            var obj1 = new ListOfObjectsClass();
            obj1.Subs.Add(new SimpleExampleClass { Name = "Bob", Age = 21 });

            var msg = serializer.SerializeToMsg(obj1);
            var obj2 = (ListOfObjectsClass)serializer.Deserialize(msg);

            Assert.NotSame(obj1, obj2);
            Assert.NotSame(obj1.Subs[0], obj2.Subs[0]);
            Assert.Equal(obj1.Subs[0].Name, obj2.Subs[0].Name);
        }