()
| 10 | public class RunnerWorldExportsImpl : IRunnerWorldExports |
| 11 | { |
| 12 | public static void Run() |
| 13 | { |
| 14 | Debug.Assert(IToTestImports.RoundtripOption(1.0f).Value == 1); |
| 15 | Debug.Assert(IToTestImports.RoundtripOption(null).HasValue == false); |
| 16 | Debug.Assert(IToTestImports.RoundtripOption(2.0f).Value == 2); |
| 17 | |
| 18 | Debug.Assert(IToTestImports.RoundtripResult(Result<uint, float>.Ok(2)) == 2.0); |
| 19 | Debug.Assert(IToTestImports.RoundtripResult(Result<uint, float>.Ok(4)) == 4.0); |
| 20 | try |
| 21 | { |
| 22 | IToTestImports.RoundtripResult(Result<uint, float>.Err(5.3f)); |
| 23 | throw new Exception(); |
| 24 | } |
| 25 | catch (WitException e) |
| 26 | { |
| 27 | Debug.Assert((byte)e.Value == 5); |
| 28 | } |
| 29 | |
| 30 | Debug.Assert(IToTestImports.RoundtripEnum(IToTestImports.E1.A) == IToTestImports.E1.A); |
| 31 | Debug.Assert(IToTestImports.RoundtripEnum(IToTestImports.E1.B) == IToTestImports.E1.B); |
| 32 | |
| 33 | Debug.Assert(IToTestImports.InvertBool(true) == false); |
| 34 | Debug.Assert(IToTestImports.InvertBool(false) == true); |
| 35 | var (a1, a2, a3, a4, a5, a6) = |
| 36 | IToTestImports.VariantCasts((IToTestImports.C1.A(1), IToTestImports.C2.A(2), IToTestImports.C3.A(3), IToTestImports.C4.A(4), IToTestImports.C5.A(5), IToTestImports.C6.A(6.0f))); |
| 37 | Debug.Assert(a1.AsA == 1); |
| 38 | Debug.Assert(a2.AsA == 2); |
| 39 | Debug.Assert(a3.AsA == 3); |
| 40 | Debug.Assert(a4.AsA == 4); |
| 41 | Debug.Assert(a5.AsA == 5); |
| 42 | Debug.Assert(a6.AsA == 6.0f); |
| 43 | |
| 44 | var (b1, b2, b3, b4, b5, b6) = |
| 45 | IToTestImports.VariantCasts((IToTestImports.C1.B(1), IToTestImports.C2.B(2), IToTestImports.C3.B(3), IToTestImports.C4.B(4), IToTestImports.C5.B(5), IToTestImports.C6.B(6.0))); |
| 46 | Debug.Assert(b1.AsB == 1); |
| 47 | Debug.Assert(b2.AsB == 2.0f); |
| 48 | Debug.Assert(b3.AsB == 3.0f); |
| 49 | Debug.Assert(b4.AsB == 4.0f); |
| 50 | Debug.Assert(b5.AsB == 5.0f); |
| 51 | Debug.Assert(b6.AsB == 6.0); |
| 52 | |
| 53 | var (za1, za2, za3, za4) = |
| 54 | IToTestImports.VariantZeros((IToTestImports.Z1.A(1), IToTestImports.Z2.A(2), IToTestImports.Z3.A(3.0f), IToTestImports.Z4.A(4.0f))); |
| 55 | Debug.Assert(za1.AsA == 1); |
| 56 | Debug.Assert(za2.AsA == 2); |
| 57 | Debug.Assert(za3.AsA == 3.0f); |
| 58 | Debug.Assert(za4.AsA == 4.0f); |
| 59 | |
| 60 | var (zb1, zb2, zb3, zb4) = |
| 61 | IToTestImports.VariantZeros((IToTestImports.Z1.B(), IToTestImports.Z2.B(), IToTestImports.Z3.B(), IToTestImports.Z4.B())); |
| 62 | //TODO: Add comparison operator to variants and None |
| 63 | //Debug.Assert(zb1.AsB == IToTest.Z1.b()); |
| 64 | //Debug.Assert(zb2.AsB == IToTest.Z2.b()); |
| 65 | //Debug.Assert(zb3.AsB == IToTest.Z3.b()); |
| 66 | //Debug.Assert(zb4.AsB == IToTest.Z4.b()); |
| 67 | |
| 68 | IToTestImports.VariantTypedefs(null, false, Result<uint, None>.Err(new None())); |
| 69 |
nothing calls this directly
no test coverage detected