private static void TestCLongUnmanagedCallersOnly()
    {
        CdeclMemberFunctionNative.C c = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f);
        CLong result = CdeclMemberFunctionNative.GetWidthAsLongFromManaged(&c);

        Assert.AreEqual((nint)c.width, result.Value);
    }
    private static void TestEnumUnmanagedCallersOnly()
    {
        CdeclMemberFunctionNative.C c      = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f);
        CdeclMemberFunctionNative.E result = CdeclMemberFunctionNative.GetEFromManaged(&c);

        Assert.AreEqual(c.dummy, result);
    }
    private static void Test4ByteHFAUnmanagedCallersOnly()
    {
        CdeclMemberFunctionNative.C     c      = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f);
        CdeclMemberFunctionNative.Width result = CdeclMemberFunctionNative.GetWidthFromManaged(&c);

        Assert.AreEqual(c.width, result.width);
    }
    private static void Test4ByteNonHFAUnmanagedCallersOnly()
    {
        CdeclMemberFunctionNative.C          c      = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f);
        CdeclMemberFunctionNative.IntWrapper result = CdeclMemberFunctionNative.GetHeightAsIntFromManaged(&c);

        Assert.AreEqual((int)c.height, result.i);
    }
    private static void Test8ByteHFAUnmanagedCallersOnly()
    {
        CdeclMemberFunctionNative.C     c      = CreateCWithUnmanagedCallersOnlyVTable(2.0f, 3.0f);
        CdeclMemberFunctionNative.SizeF result = CdeclMemberFunctionNative.GetSizeFromManaged(&c);

        Assert.Equal(c.width, result.width);
        Assert.Equal(c.height, result.height);
    }