Example #1
0
        public async Task CallDotNetOptionalsExplicitOutOfOrder()
        {
            FrameContext runContext = await runProgram(
                "a = obj.Kwargs(second=20, first=2)\n",
                new Dictionary <string, object>()
            {
                { "obj", new ReflectIntoPython(1337, "Kwargs test!") }
            }, 1);

            var variables = runContext.DumpVariables();

            Assert.That(variables.ContainsKey("a"));
            var a = (int)variables["a"];

            Assert.That(a, Is.EqualTo(202));
        }
Example #2
0
        public async Task CallExtensionMethodWithArgs()
        {
            FrameContext runContext = await runProgram(
                "obj = ReflectIntoPython(1337, 'Generic test!')\n" +
                "a = obj.AnExtensionMethodWithArgs(1)\n",
                new Dictionary <string, object>()
            {
                { "ReflectIntoPython", new PyDotNetClassProxy(typeof(ReflectIntoPython)) }
            }, 1);

            var variables = runContext.DumpVariables();

            Assert.That(variables.ContainsKey("a"));
            var a = (int)variables["a"];

            Assert.That(a, Is.EqualTo(1338));
        }
Example #3
0
        public async Task CallGenericExtensionMethodNoArgs()
        {
            FrameContext runContext = await runProgram(
                "obj = ReflectIntoPython(1337, 'Generic test!')\n" +
                "a = obj.AGenericExtensionMethodNoArgs(ReflectIntoPython)\n",
                new Dictionary <string, object>()
            {
                { "ReflectIntoPython", new PyDotNetClassProxy(typeof(ReflectIntoPython)) }
            }, 1);

            var variables = runContext.DumpVariables();

            Assert.That(variables.ContainsKey("a"));
            var aInstance = (bool)variables["a"];

            Assert.That(aInstance, Is.True);
        }
Example #4
0
        public async Task CallGenericMethod()
        {
            FrameContext runContext = await runProgram(
                "obj = ReflectIntoPython(1337, 'Generic test!')\n" +
                "a = obj.GenericMethod(ReflectIntoPython, obj)\n",
                new Dictionary <string, object>()
            {
                { "ReflectIntoPython", new PyDotNetClassProxy(typeof(ReflectIntoPython)) }
            }, 1);

            var variables = runContext.DumpVariables();

            Assert.That(variables.ContainsKey("a"));
            var aInstance = (ReflectIntoPython)variables["a"];

            Assert.That(aInstance.AnInteger, Is.EqualTo(1337));
            Assert.That(aInstance.AString, Is.EqualTo("Generic test!"));
        }
Example #5
0
        public async Task CallGenericExtensionMethod()
        {
            FrameContext runContext = await runProgram(
                "obj = ReflectIntoPython(1337, 'Generic test!')\n" +
                "b = MockMaterial()\n" +
                "b.color = 333\n" +
                "a = obj.AGenericExtensionMethod(MockMaterial, b)\n",
                new Dictionary <string, object>()
            {
                { "ReflectIntoPython", new PyDotNetClassProxy(typeof(ReflectIntoPython)) },
                { "MockMaterial", typeof(MockMaterial) }
            }, 1);

            var variables = runContext.DumpVariables();

            Assert.That(variables.ContainsKey("a"));
            var aInstance = (MockMaterial)variables["a"];

            Assert.That(aInstance.color, Is.EqualTo(333));
        }