public void MarshalConfigTests(Type type, bool marshalEnable, bool marshalSerialize, bool marshalParse)
        {
            ITypeModel typeModel = RuntimeTypeModel.CreateFrom(type);
            var        tm        = Assert.IsType <ValueStructTypeModel>(typeModel);

            Assert.Equal(marshalSerialize, tm.CanMarshalOnSerialize);
            Assert.Equal(marshalParse, tm.CanMarshalOnParse);

            var options = new FlatBufferSerializerOptions {
                EnableValueStructMemoryMarshalDeserialization = marshalEnable
            };

            CodeGeneratedMethod serializeMethod = tm.CreateSerializeMethodBody(ContextHelpers.CreateSerializeContext(options));
            CodeGeneratedMethod parseMethod     = tm.CreateParseMethodBody(ContextHelpers.CreateParserContext(options));

            Assert.Equal(parseMethod.MethodBody.Contains("MemoryMarshal.Cast"), marshalEnable && marshalParse);
            Assert.Equal(serializeMethod.MethodBody.Contains("MemoryMarshal.Cast"), marshalEnable && marshalSerialize);
        }