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)); }
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)); }
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); }
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!")); }
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)); }