Beispiel #1
0
        static void TupleConversionsObject <T, TTuple>()
        {
            TupleCodec <TTuple> .Register();

            var tuple    = Activator.CreateInstance(typeof(T), 42.0, "42", new object());
            T   restored = default;

            using (var scope = Py.CreateScope())
            {
                void Accept(object value) => restored = (T)value;

                using var accept = new Action <object>(Accept).ToPython();
                scope.Set(nameof(tuple), tuple);
                scope.Set(nameof(accept), accept);
                scope.Exec($"{nameof(accept)}({nameof(tuple)})");
                Assert.AreEqual(expected: tuple, actual: restored);
            }
        }
Beispiel #2
0
 public void SetUp()
 {
     PythonEngine.Initialize();
     TupleCodec <ValueTuple> .Register();
 }