X Tutup
using System; using System.Collections.Generic; using NUnit.Framework; using Python.Runtime; namespace Python.EmbeddingTest { public class Inspect { [Test] public void InstancePropertiesVisibleOnClass() { var uri = new Uri("http://example.org").ToPython(); var uriClass = uri.GetPythonType(); var property = uriClass.GetAttr(nameof(Uri.AbsoluteUri)); var pyProp = (PropertyObject)ManagedType.GetManagedObject(property.Reference); Assert.That(pyProp.info.Value.Name, Is.EqualTo(nameof(Uri.AbsoluteUri))); } [Test] public void BoundMethodsAreInspectable() { using var scope = Py.CreateScope(); try { scope.Import("inspect"); } catch (PythonException) { Assert.Inconclusive("Python build does not include inspect module"); return; } var obj = new Class(); scope.Set(nameof(obj), obj); using var spec = scope.Eval($"inspect.getfullargspec({nameof(obj)}.{nameof(Class.Method)})"); } class Class { public void Method(int a, int b = 10) { } public void Method(int a, object b) { } } } }
X Tutup