public void FieldWithPointerToInterfaceTypeHasPublicTypeOfInterface()
    {
        var cppField = new CppField("field")
        {
            TypeName = "Interface",
            Pointer  = "*"
        };

        TypeRegistry.BindType("Interface", new CsInterface(null, "Interface"));

        var csField = marshalledElementFactory.Create(cppField, cppField.Name);

        Assert.Equal(TypeRegistry.FindBoundType("Interface"), csField.PublicType);
        Assert.Equal(TypeRegistry.IntPtr, csField.MarshalType);
        Assert.True(csField.IsInterface);
    }
        public void FieldWithPointerToInterfaceTypeHasPublicTypeOfInterface()
        {
            var cppField = new CppField("field")
            {
                TypeName = "Interface",
                Pointer  = "*"
            };

            var typeRegistry = new TypeRegistry(Logger, A.Fake <IDocumentationLinker>());

            typeRegistry.BindType("Interface", new CsInterface(null, "Interface"));
            var marshalledElementFactory = new MarshalledElementFactory(Logger, new GlobalNamespaceProvider(), typeRegistry);

            var csField = marshalledElementFactory.Create(cppField, cppField.Name);

            Assert.Equal(typeRegistry.FindBoundType("Interface"), csField.PublicType);
            Assert.Equal(TypeRegistry.IntPtr, csField.MarshalType);
            Assert.True(csField.IsInterface);
        }
        public void FieldWithPointerToInterfaceTypeHasPublicTypeOfInterface()
        {
            var cppField = new CppField
            {
                TypeName = "Interface",
                Pointer  = "*"
            };

            var typeRegistry = new TypeRegistry(Logger, A.Fake <IDocumentationLinker>());

            typeRegistry.BindType("Interface", new CsInterface {
                Name = "Interface"
            });
            var marshalledElementFactory = new MarshalledElementFactory(Logger, new GlobalNamespaceProvider("SharpGen.Runtime"), typeRegistry);

            var csField = marshalledElementFactory.Create(cppField);

            Assert.Equal(typeRegistry.FindBoundType("Interface"), csField.PublicType);
            Assert.Equal(typeRegistry.ImportType(typeof(IntPtr)), csField.MarshalType);
            Assert.True(csField.IsInterface);
        }