示例#1
0
        static void TestNativeClass()
        {
            if (GenAllFile)
            {
                WrapperCodeGenerator.GenerateClass(typeof(NativeClass), "UnitTest", "../UnitTest/NativeClassWrapper.cs");
            }

            new TestBox().RegisterRunFile(delegate(Executable exe)
            {
                exe.RegisterNativeClass(Assembly.GetExecutingAssembly(), "UnitTest.NativeClassWrapper", "NativeClassTest");
            },
                                          "NativeClass.pho")
            .CheckGlobalVarMatchKind("x", ValueKind.NativeClassInstance)
            .CheckGlobalVarMatchValue("b", "cat")
            .CheckGlobalVarMatchValue("c", 89)
            .CheckGlobalVarMatchValue("d", "xx")
            .CheckGlobalVarMatchValue("e", "wa")
            .CheckGlobalVarMatchValue("f", "HP");
        }
        static void TestDataStackBalance()
        {
            if (GenAllFile)
            {
                WrapperCodeGenerator.GenerateClass(typeof(DataStackBalanceTest), "UnitTest", "../UnitTest/DataStackBalanceTestWrapper.cs");
            }


            new TestBox().RegisterRunFile(delegate(Executable exe)
            {
                exe.RegisterNativeClass(Assembly.GetEntryAssembly(),
                                        "UnitTest.DataStackBalanceTestWrapper",
                                        "DataStackBalanceTest");
            }, "DataStackBalance.pho")
            .CheckGlobalVarMatchValue("a", 2)
            .CheckGlobalVarMatchValue("b", 4)
            .CheckGlobalVarMatchKind("c", ValueKind.Nil)
            .CheckGlobalVarMatchValue("e", 1)
            .CheckGlobalVarMatchValue("m", 9)
            .CheckGlobalVarMatchKind("n", ValueKind.Nil)
            .CheckGlobalVarMatchValue("p", 2)
            .CheckGlobalVarMatchValue("q", 4);
        }