MCPcopy Create free account
hub / github.com/bytecodealliance/wit-bindgen / Run

Method Run

tests/runtime/variants/runner.cs:12–74  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

10public 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) =
45IToTestImports.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) =
54IToTestImports.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) =
61IToTestImports.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

Callers

nothing calls this directly

Calls 10

BMethod · 0.80
RoundtripOptionMethod · 0.45
RoundtripResultMethod · 0.45
RoundtripEnumMethod · 0.45
InvertBoolMethod · 0.45
VariantCastsMethod · 0.45
AMethod · 0.45
VariantZerosMethod · 0.45
VariantTypedefsMethod · 0.45
VariantEnumsMethod · 0.45

Tested by

no test coverage detected