interoptopus_csharp 0.16.0-alpha.10

The C# backend for Interoptopus.
Documentation
using My.Company;
using Xunit;

public class TestMeta
{
    [Fact]
    public void meta_ambiguous_1()
    {
        var v = new Vec1 { x = 1.0f, y = 2.0f };
        var result = Interop.meta_ambiguous_1(v);
        Assert.Equal(1.0f, result.x);
        Assert.Equal(2.0f, result.y);
    }

    [Fact]
    public void meta_ambiguous_2()
    {
        var v = new Vec2 { x = 1.0, z = 2.0 };
        var result = Interop.meta_ambiguous_2(v);
        Assert.Equal(1.0, result.x);
        Assert.Equal(2.0, result.z);
    }

    [Fact]
    public void meta_ambiguous_3()
    {
        var v1 = new Vec1 { x = 5.0f, y = 0.0f };
        var v2 = new Vec2 { x = 5.0, z = 0.0 };
        var result = Interop.meta_ambiguous_3(v1, v2);
        Assert.True(result.Is);
    }

    [Fact]
    public void meta_ambiguous_3_false()
    {
        var v1 = new Vec1 { x = 5.0f, y = 0.0f };
        var v2 = new Vec2 { x = 100.0, z = 0.0 };
        var result = Interop.meta_ambiguous_3(v1, v2);
        Assert.False(result.Is);
    }

    [Fact]
    public void meta_renamed()
    {
        var s = new StructRenamed { e = EnumRenamed.X };
        var result = Interop.meta_renamed(s);
        Assert.Equal(EnumRenamed.X, result);
    }

    [Fact]
    public void meta_documented()
    {
        var s = new StructDocumented();
        var result = Interop.meta_documented(s);
        Assert.Equal(EnumDocumented.A, result);
    }
}