-
Notifications
You must be signed in to change notification settings - Fork 774
Expand file tree
/
Copy pathTestCallbacks.cs
More file actions
23 lines (21 loc) · 864 Bytes
/
TestCallbacks.cs
File metadata and controls
23 lines (21 loc) · 864 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using NUnit.Framework;
using Python.Runtime;
namespace Python.EmbeddingTest {
public class TestCallbacks {
[Test]
public void TestNoOverloadException() {
int passed = 0;
var aFunctionThatCallsIntoPython = new Action<int>(value => passed = value);
using (Py.GIL()) {
using dynamic callWith42 = PythonEngine.Eval("lambda f: f([42])");
using var pyFunc = aFunctionThatCallsIntoPython.ToPython();
var error = Assert.Throws<PythonException>(() => callWith42(pyFunc));
Assert.That(error.Type.Name, Is.EqualTo("TypeError"));
string expectedArgTypes = "(<class 'list'>)";
StringAssert.EndsWith(expectedArgTypes, error.Message);
error.Traceback.Dispose();
}
}
}
}