pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/pythonnet/pythonnet/pull/2724.patch

// Compare in .NET Assert.IsTrue(sys.testattr1.Equals(sys.testattr2)); @@ -110,7 +110,7 @@ public void PassPyObjectInNet() "sys.testattr3 = sys.testattr1 is sys.testattr2\n" ); - Assert.AreEqual(sys.testattr3.ToString(), "True"); + Assert.That(sys.testattr3.ToString(), Is.EqualTo("True")); // Compare in .NET Assert.IsTrue(sys.testattr1.Equals(sys.testattr2)); diff --git a/src/embed_tests/Events.cs b/src/embed_tests/Events.cs index 94a30726b..cc51176dc 100644 --- a/src/embed_tests/Events.cs +++ b/src/embed_tests/Events.cs @@ -31,7 +31,7 @@ del example gc.collect() "); Runtime.Runtime.TryCollectingGarbage(10); - Assert.AreEqual(0, ClassWithEventHandler.alive); + Assert.That(ClassWithEventHandler.alive, Is.EqualTo(0)); } } diff --git a/src/embed_tests/Modules.cs b/src/embed_tests/Modules.cs index 67fa3d0fc..f06c5173e 100644 --- a/src/embed_tests/Modules.cs +++ b/src/embed_tests/Modules.cs @@ -149,11 +149,11 @@ public void TestScopeClass() ); dynamic obj1 = _ps.Class1(20); var result = obj1.call(10).As(); - Assert.AreEqual(130, result); + Assert.That(result, Is.EqualTo(130)); obj1.update(10); result = ps.Get("bb"); - Assert.AreEqual(30, result); + Assert.That(result, Is.EqualTo(30)); } } @@ -185,11 +185,11 @@ public void TestCreateVirtualPackageStructure() dynamic obj1 = ps2.Class1(20); var result = obj1.call(10).As(); - Assert.AreEqual(130, result); + Assert.That(result, Is.EqualTo(130)); obj1.update(10); result = ps2.Get("bb"); - Assert.AreEqual(30, result); + Assert.That(result, Is.EqualTo(30)); } } @@ -229,7 +229,7 @@ public void TestImportModule() var value1 = ps.Eval("sys.attr1"); var value2 = sys.attr1.As(); Assert.That(value1, Is.EqualTo(2)); - Assert.AreEqual(2, value2); + Assert.That(value2, Is.EqualTo(2)); //import as ps.Import("sys", "sys1"); @@ -308,16 +308,16 @@ public void TestImportScopeFunction() dynamic func2 = scope.Get("func2"); var result1 = func2().As(); - Assert.AreEqual(0, result1); + Assert.That(result1, Is.EqualTo(0)); scope.Set("cc", 20);//it has no effect on the globals of 'func1' var result2 = func2().As(); - Assert.AreEqual(-10, result2); + Assert.That(result2, Is.EqualTo(-10)); scope.Set("cc", 10); //rollback ps.Set("cc", 20); var result3 = func2().As(); - Assert.AreEqual(10, result3); + Assert.That(result3, Is.EqualTo(10)); ps.Set("cc", 10); //rollback } } @@ -437,7 +437,7 @@ public void TestCreate() scope.Execute(code); Assert.That(scope.TryGet("x", out dynamic x), Is.True); - Assert.AreEqual("True", x.ToString()); + Assert.That(x.ToString(), Is.EqualTo("True")); } [Test] diff --git a/src/embed_tests/NeedsReinit/TestDomainReload.cs b/src/embed_tests/NeedsReinit/TestDomainReload.cs index a8d2cd3d8..417a915a8 100644 --- a/src/embed_tests/NeedsReinit/TestDomainReload.cs +++ b/src/embed_tests/NeedsReinit/TestDomainReload.cs @@ -146,8 +146,8 @@ public override ValueType Execute(ValueType arg) "); } var clrObj = obj.As(); - Assert.AreEqual(clrObj.Property, 2); - Assert.AreEqual(clrObj.Field, 20); + Assert.That(2, Is.EqualTo(clrObj.Property)); + Assert.That(20, Is.EqualTo(clrObj.Field)); } } } diff --git a/src/embed_tests/NeedsReinit/TestPyInitialize.cs b/src/embed_tests/NeedsReinit/TestPyInitialize.cs index 1ef4127b8..b724e158e 100644 --- a/src/embed_tests/NeedsReinit/TestPyInitialize.cs +++ b/src/embed_tests/NeedsReinit/TestPyInitialize.cs @@ -28,7 +28,7 @@ public static void LoadDefaultArgs() { using(var argv = new PyList(Runtime.Runtime.PySys_GetObject("argv"))) { - Assert.AreNotEqual(0, argv.Length()); + Assert.That(argv.Length(), Is.Not.EqualTo(0)); } } } diff --git a/src/embed_tests/NeedsReinit/TestPythonEngineProperties.cs b/src/embed_tests/NeedsReinit/TestPythonEngineProperties.cs index 8eb9e975d..0e99005ae 100644 --- a/src/embed_tests/NeedsReinit/TestPythonEngineProperties.cs +++ b/src/embed_tests/NeedsReinit/TestPythonEngineProperties.cs @@ -22,7 +22,7 @@ public void SetPythonHome() PythonEngine.PythonHome = pythonHome; PythonEngine.Initialize(); - Assert.AreEqual(pythonHome, PythonEngine.PythonHome); + Assert.That(PythonEngine.PythonHome, Is.EqualTo(pythonHome)); PythonEngine.Shutdown(); // Restoring valid pythonhome. @@ -45,7 +45,7 @@ public void SetPythonHomeTwice() PythonEngine.PythonHome = pythonHome; PythonEngine.Initialize(); - Assert.AreEqual(pythonHome, PythonEngine.PythonHome); + Assert.That(PythonEngine.PythonHome, Is.EqualTo(pythonHome)); PythonEngine.Shutdown(); PythonEngine.PythonHome = pythonHomeBackup; @@ -65,7 +65,7 @@ public void SetPythonHomeEmptyString() } PythonEngine.PythonHome = ""; - Assert.AreEqual("", PythonEngine.PythonHome); + Assert.That(PythonEngine.PythonHome, Is.EqualTo("")); PythonEngine.PythonHome = backup; PythonEngine.Shutdown(); @@ -86,7 +86,7 @@ public void SetProgramName() PythonEngine.ProgramName = programName; PythonEngine.Initialize(); - Assert.AreEqual(programName, PythonEngine.ProgramName); + Assert.That(PythonEngine.ProgramName, Is.EqualTo(programName)); PythonEngine.Shutdown(); PythonEngine.ProgramName = programNameBackup; @@ -124,7 +124,7 @@ public void SetPythonPath() PythonEngine.PythonPath = path; PythonEngine.Initialize(); - Assert.AreEqual(path, PythonEngine.PythonPath); + Assert.That(PythonEngine.PythonPath, Is.EqualTo(path)); if (importShouldSucceed) Py.Import(moduleName); PythonEngine.Shutdown(); diff --git a/src/embed_tests/NeedsReinit/TestRuntime.cs b/src/embed_tests/NeedsReinit/TestRuntime.cs index 193bf57d3..ded0d9d2a 100644 --- a/src/embed_tests/NeedsReinit/TestRuntime.cs +++ b/src/embed_tests/NeedsReinit/TestRuntime.cs @@ -16,11 +16,11 @@ public static void Py_IsInitializedValue() Runtime.Runtime.PyGILState_Ensure(); } Runtime.Runtime.Py_Finalize(); - Assert.AreEqual(0, Runtime.Runtime.Py_IsInitialized()); + Assert.That(Runtime.Runtime.Py_IsInitialized(), Is.EqualTo(0)); Runtime.Runtime.Py_Initialize(); - Assert.AreEqual(1, Runtime.Runtime.Py_IsInitialized()); + Assert.That(Runtime.Runtime.Py_IsInitialized(), Is.EqualTo(1)); Runtime.Runtime.Py_Finalize(); - Assert.AreEqual(0, Runtime.Runtime.Py_IsInitialized()); + Assert.That(Runtime.Runtime.Py_IsInitialized(), Is.EqualTo(0)); } [Test] @@ -30,27 +30,27 @@ public static void RefCountTest() using var op = Runtime.Runtime.PyString_FromString("FooBar"); // New object RefCount should be one - Assert.AreEqual(1, Runtime.Runtime.Refcount32(op.BorrowOrThrow())); + Assert.That(Runtime.Runtime.Refcount32(op.BorrowOrThrow()), Is.EqualTo(1)); // Checking refcount didn't change refcount - Assert.AreEqual(1, Runtime.Runtime.Refcount32(op.Borrow())); + Assert.That(Runtime.Runtime.Refcount32(op.Borrow()), Is.EqualTo(1)); // Borrowing a reference doesn't increase refcount BorrowedReference p = op.Borrow(); - Assert.AreEqual(1, Runtime.Runtime.Refcount32(p)); + Assert.That(Runtime.Runtime.Refcount32(p), Is.EqualTo(1)); // Py_IncRef/Py_DecRef increase and decrease RefCount Runtime.Runtime.Py_IncRef(op.Borrow()); - Assert.AreEqual(2, Runtime.Runtime.Refcount32(p)); + Assert.That(Runtime.Runtime.Refcount32(p), Is.EqualTo(2)); Runtime.Runtime.Py_DecRef(StolenReference.DangerousFromPointer(op.DangerousGetAddress())); - Assert.AreEqual(1, Runtime.Runtime.Refcount32(p)); + Assert.That(Runtime.Runtime.Refcount32(p), Is.EqualTo(1)); // XIncref/XDecref increase and decrease RefCount #pragma warning disable CS0618 // Type or member is obsolete. We are testing corresponding members Runtime.Runtime.XIncref(p); - Assert.AreEqual(2, Runtime.Runtime.Refcount32(p)); + Assert.That(Runtime.Runtime.Refcount32(p), Is.EqualTo(2)); Runtime.Runtime.XDecref(op.Steal()); - Assert.AreEqual(1, Runtime.Runtime.Refcount32(p)); + Assert.That(Runtime.Runtime.Refcount32(p), Is.EqualTo(1)); #pragma warning restore CS0618 // Type or member is obsolete op.Dispose(); diff --git a/src/embed_tests/NumPyTests.cs b/src/embed_tests/NumPyTests.cs index 6f4a85716..57ff11b2b 100644 --- a/src/embed_tests/NumPyTests.cs +++ b/src/embed_tests/NumPyTests.cs @@ -25,7 +25,7 @@ public void Dispose() [Test] public void TestReadme() { - Assert.AreEqual("1.0", np.cos(np.pi * 2).ToString()); + Assert.That(np.cos(np.pi * 2).ToString(), Is.EqualTo("1.0")); dynamic sin = np.sin; StringAssert.StartsWith("-0.95892", sin(5).ToString()); @@ -34,12 +34,12 @@ public void TestReadme() Assert.That(c, Is.EqualTo(-0.675262).Within(0.01)); dynamic a = np.array(new List { 1, 2, 3 }); - Assert.AreEqual("float64", a.dtype.ToString()); + Assert.That(a.dtype.ToString(), Is.EqualTo("float64")); dynamic b = np.array(new List { 6, 5, 4 }, Py.kw("dtype", np.int32)); - Assert.AreEqual("int32", b.dtype.ToString()); + Assert.That(b.dtype.ToString(), Is.EqualTo("int32")); - Assert.AreEqual("[ 6. 10. 12.]", (a * b).ToString().Replace(" ", " ")); + Assert.That((a * b).ToString().Replace(" ", " "), Is.EqualTo("[ 6. 10. 12.]")); } [Test] @@ -47,9 +47,9 @@ public void MultidimensionalNumPyArray() { var array = new[,] { { 1, 2 }, { 3, 4 } }; var ndarray = np.InvokeMethod("asarray", array.ToPython()); - Assert.AreEqual((2, 2), ndarray.GetAttr("shape").As<(int, int)>()); - Assert.AreEqual(1, ndarray[(0, 0).ToPython()].InvokeMethod("__int__").As()); - Assert.AreEqual(array[1, 0], ndarray[(1, 0).ToPython()].InvokeMethod("__int__").As()); + Assert.That(ndarray.GetAttr("shape").As<(int, int)>(), Is.EqualTo((2, 2))); + Assert.That(ndarray[(0, 0).ToPython()].InvokeMethod("__int__").As(), Is.EqualTo(1)); + Assert.That(ndarray[(1, 0).ToPython()].InvokeMethod("__int__").As(), Is.EqualTo(array[1, 0])); } [Test] @@ -57,9 +57,9 @@ public void Int64Array() { var array = new long[,] { { 1, 2 }, { 3, 4 } }; var ndarray = np.InvokeMethod("asarray", array.ToPython()); - Assert.AreEqual((2, 2), ndarray.GetAttr("shape").As<(int, int)>()); - Assert.AreEqual(1, ndarray[(0, 0).ToPython()].InvokeMethod("__int__").As()); - Assert.AreEqual(array[1, 0], ndarray[(1, 0).ToPython()].InvokeMethod("__int__").As()); + Assert.That(ndarray.GetAttr("shape").As<(int, int)>(), Is.EqualTo((2, 2))); + Assert.That(ndarray[(0, 0).ToPython()].InvokeMethod("__int__").As(), Is.EqualTo(1)); + Assert.That(ndarray[(1, 0).ToPython()].InvokeMethod("__int__").As(), Is.EqualTo(array[1, 0])); } [Test] diff --git a/src/embed_tests/StateSerialization/MethodSerialization.cs b/src/embed_tests/StateSerialization/MethodSerialization.cs index d565c1e7a..1a032098b 100644 --- a/src/embed_tests/StateSerialization/MethodSerialization.cs +++ b/src/embed_tests/StateSerialization/MethodSerialization.cs @@ -16,7 +16,7 @@ public void GenericRoundtrip() var maybeMethod = new MaybeMethodBase(method); var restored = SerializationRoundtrip(maybeMethod); Assert.IsTrue(restored.Valid); - Assert.AreEqual(method, restored.Value); + Assert.That(restored.Value, Is.EqualTo(method)); } [Test] @@ -26,7 +26,7 @@ public void ConstructorRoundtrip() var maybeConstructor = new MaybeMethodBase(ctor); var restored = SerializationRoundtrip(maybeConstructor); Assert.IsTrue(restored.Valid); - Assert.AreEqual(ctor, restored.Value); + Assert.That(restored.Value, Is.EqualTo(ctor)); } static T SerializationRoundtrip(T item) diff --git a/src/embed_tests/TestConverter.cs b/src/embed_tests/TestConverter.cs index 3feced8d0..743731285 100644 --- a/src/embed_tests/TestConverter.cs +++ b/src/embed_tests/TestConverter.cs @@ -155,7 +155,7 @@ public void RawListProxy() var list = new List {"hello", "world"}; var listProxy = PyObject.FromManagedObject(list); var clrObject = (CLRObject)ManagedType.GetManagedObject(listProxy); - Assert.AreSame(list, clrObject.inst); + Assert.That(clrObject.inst, Is.SameAs(list)); } [Test] @@ -164,7 +164,7 @@ public void RawPyObjectProxy() var pyObject = "hello world!".ToPython(); var pyObjectProxy = PyObject.FromManagedObject(pyObject); var clrObject = (CLRObject)ManagedType.GetManagedObject(pyObjectProxy); - Assert.AreSame(pyObject, clrObject.inst); + Assert.That(clrObject.inst, Is.SameAs(pyObject)); #pragma warning disable CS0612 // Type or member is obsolete const string handlePropertyName = nameof(PyObject.Handle); diff --git a/src/embed_tests/TestPyFloat.cs b/src/embed_tests/TestPyFloat.cs index c6111f180..5c7f3cce7 100644 --- a/src/embed_tests/TestPyFloat.cs +++ b/src/embed_tests/TestPyFloat.cs @@ -15,7 +15,7 @@ public void FloatCtor() const float a = 4.5F; var i = new PyFloat(a); Assert.True(PyFloat.IsFloatType(i)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -24,7 +24,7 @@ public void PyObjectCtorGood() var i = new PyFloat(5); var a = new PyFloat(i); Assert.True(PyFloat.IsFloatType(a)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -45,7 +45,7 @@ public void DoubleCtor() const double a = 4.5; var i = new PyFloat(a); Assert.True(PyFloat.IsFloatType(i)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -54,7 +54,7 @@ public void StringIntCtor() const string a = "5"; var i = new PyFloat(a); Assert.True(PyFloat.IsFloatType(i)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -63,7 +63,7 @@ public void StringDoubleCtor() const string a = "4.5"; var i = new PyFloat(a); Assert.True(PyFloat.IsFloatType(i)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -101,7 +101,7 @@ public void AsFloatGood() PyFloat s = PyFloat.AsFloat(i); Assert.True(PyFloat.IsFloatType(s)); - // Assert.Assert.AreEqual(i, a.ToInt32()); + // Assert.Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] diff --git a/src/embed_tests/TestPyInt.cs b/src/embed_tests/TestPyInt.cs index 36319cf1a..e79792d51 100644 --- a/src/embed_tests/TestPyInt.cs +++ b/src/embed_tests/TestPyInt.cs @@ -15,7 +15,7 @@ public void TestCtorInt() { const int i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -23,7 +23,7 @@ public void TestCtorUInt() { const uint i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -31,7 +31,7 @@ public void TestCtorLong() { const long i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -39,7 +39,7 @@ public void TestCtorULong() { const ulong i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -47,7 +47,7 @@ public void TestCtorShort() { const short i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -55,7 +55,7 @@ public void TestCtorUShort() { const ushort i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -63,7 +63,7 @@ public void TestCtorByte() { const byte i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -71,7 +71,7 @@ public void TestCtorSByte() { const sbyte i = 5; var a = new PyInt(i); - Assert.AreEqual(i, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(i)); } [Test] @@ -79,7 +79,7 @@ public void TestCtorPyObject() { var i = new PyInt(5); var a = new PyInt(i); - Assert.AreEqual(5, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(5)); } [Test] @@ -99,7 +99,7 @@ public void TestCtorString() { const string i = "5"; var a = new PyInt(i); - Assert.AreEqual(5, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(5)); } [Test] @@ -133,7 +133,7 @@ public void TestAsIntGood() { var i = new PyInt(5); var a = PyInt.AsInt(i); - Assert.AreEqual(5, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(5)); } [Test] @@ -152,7 +152,7 @@ public void TestConvertToInt32() { var a = new PyInt(5); Assert.IsInstanceOf(typeof(int), a.ToInt32()); - Assert.AreEqual(5, a.ToInt32()); + Assert.That(a.ToInt32(), Is.EqualTo(5)); } [Test] @@ -160,7 +160,7 @@ public void TestConvertToInt16() { var a = new PyInt(5); Assert.IsInstanceOf(typeof(short), a.ToInt16()); - Assert.AreEqual(5, a.ToInt16()); + Assert.That(a.ToInt16(), Is.EqualTo(5)); } [Test] @@ -169,7 +169,7 @@ public void TestConvertToInt64() long val = 5 + (long)int.MaxValue; var a = new PyInt(val); Assert.IsInstanceOf(typeof(long), a.ToInt64()); - Assert.AreEqual(val, a.ToInt64()); + Assert.That(a.ToInt64(), Is.EqualTo(val)); } [Test] @@ -195,7 +195,7 @@ public void ToBigInteger() var expected = simpleValues.Select(v => new BigInteger(v)).ToArray(); var actual = simpleValues.Select(v => new PyInt(v).ToBigInteger()).ToArray(); - CollectionAssert.AreEqual(expected, actual); + Assert.That(actual, Is.EqualTo(expected)); } [Test] @@ -204,37 +204,37 @@ public void CompareTo() var v = new PyInt(42); #region Signed - Assert.AreEqual(0, v.CompareTo(42L)); - Assert.AreEqual(0, v.CompareTo(42)); - Assert.AreEqual(0, v.CompareTo((short)42)); - Assert.AreEqual(0, v.CompareTo((sbyte)42)); - - Assert.AreEqual(1, v.CompareTo(41L)); - Assert.AreEqual(1, v.CompareTo(41)); - Assert.AreEqual(1, v.CompareTo((short)41)); - Assert.AreEqual(1, v.CompareTo((sbyte)41)); - - Assert.AreEqual(-1, v.CompareTo(43L)); - Assert.AreEqual(-1, v.CompareTo(43)); - Assert.AreEqual(-1, v.CompareTo((short)43)); - Assert.AreEqual(-1, v.CompareTo((sbyte)43)); + Assert.That(v.CompareTo(42L), Is.EqualTo(0)); + Assert.That(v.CompareTo(42), Is.EqualTo(0)); + Assert.That(v.CompareTo((short)42), Is.EqualTo(0)); + Assert.That(v.CompareTo((sbyte)42), Is.EqualTo(0)); + + Assert.That(v.CompareTo(41L), Is.EqualTo(1)); + Assert.That(v.CompareTo(41), Is.EqualTo(1)); + Assert.That(v.CompareTo((short)41), Is.EqualTo(1)); + Assert.That(v.CompareTo((sbyte)41), Is.EqualTo(1)); + + Assert.That(v.CompareTo(43L), Is.EqualTo(-1)); + Assert.That(v.CompareTo(43), Is.EqualTo(-1)); + Assert.That(v.CompareTo((short)43), Is.EqualTo(-1)); + Assert.That(v.CompareTo((sbyte)43), Is.EqualTo(-1)); #endregion Signed #region Unsigned - Assert.AreEqual(0, v.CompareTo(42UL)); - Assert.AreEqual(0, v.CompareTo(42U)); - Assert.AreEqual(0, v.CompareTo((ushort)42)); - Assert.AreEqual(0, v.CompareTo((byte)42)); - - Assert.AreEqual(1, v.CompareTo(41UL)); - Assert.AreEqual(1, v.CompareTo(41U)); - Assert.AreEqual(1, v.CompareTo((ushort)41)); - Assert.AreEqual(1, v.CompareTo((byte)41)); - - Assert.AreEqual(-1, v.CompareTo(43UL)); - Assert.AreEqual(-1, v.CompareTo(43U)); - Assert.AreEqual(-1, v.CompareTo((ushort)43)); - Assert.AreEqual(-1, v.CompareTo((byte)43)); + Assert.That(v.CompareTo(42UL), Is.EqualTo(0)); + Assert.That(v.CompareTo(42U), Is.EqualTo(0)); + Assert.That(v.CompareTo((ushort)42), Is.EqualTo(0)); + Assert.That(v.CompareTo((byte)42), Is.EqualTo(0)); + + Assert.That(v.CompareTo(41UL), Is.EqualTo(1)); + Assert.That(v.CompareTo(41U), Is.EqualTo(1)); + Assert.That(v.CompareTo((ushort)41), Is.EqualTo(1)); + Assert.That(v.CompareTo((byte)41), Is.EqualTo(1)); + + Assert.That(v.CompareTo(43UL), Is.EqualTo(-1)); + Assert.That(v.CompareTo(43U), Is.EqualTo(-1)); + Assert.That(v.CompareTo((ushort)43), Is.EqualTo(-1)); + Assert.That(v.CompareTo((byte)43), Is.EqualTo(-1)); #endregion Unsigned } @@ -273,10 +273,10 @@ public void ToBigIntegerLarge() { BigInteger val = BigInteger.Pow(2, 1024) + 3; var pyInt = new PyInt(val); - Assert.AreEqual(val, pyInt.ToBigInteger()); + Assert.That(pyInt.ToBigInteger(), Is.EqualTo(val)); val = -val; pyInt = new PyInt(val); - Assert.AreEqual(val, pyInt.ToBigInteger()); + Assert.That(pyInt.ToBigInteger(), Is.EqualTo(val)); } } } diff --git a/src/embed_tests/TestPyIter.cs b/src/embed_tests/TestPyIter.cs index 5da660242..4492080e8 100644 --- a/src/embed_tests/TestPyIter.cs +++ b/src/embed_tests/TestPyIter.cs @@ -18,7 +18,7 @@ public void KeepOldObjects() PyObject[] chars = testString.ToArray(); Assert.IsTrue(chars.Length > 1); string reconstructed = string.Concat(chars.Select(c => c.As())); - Assert.AreEqual(testString.As(), reconstructed); + Assert.That(reconstructed, Is.EqualTo(testString.As())); } } } diff --git a/src/embed_tests/TestPyList.cs b/src/embed_tests/TestPyList.cs index a380f0b2d..927eaa1da 100644 --- a/src/embed_tests/TestPyList.cs +++ b/src/embed_tests/TestPyList.cs @@ -29,7 +29,7 @@ public void TestStringAsListType() var ex = Assert.Throws(() => t = PyList.AsList(i)); - Assert.AreEqual("'int' object is not iterable", ex.Message); + Assert.That(ex.Message, Is.EqualTo("'int' object is not iterable")); Assert.IsNull(t); } @@ -49,7 +49,7 @@ public void TestEmptyCtor() var s = new PyList(); Assert.IsInstanceOf(typeof(PyList), s); - Assert.AreEqual(0, s.Length()); + Assert.That(s.Length(), Is.EqualTo(0)); } [Test] @@ -59,10 +59,10 @@ public void TestPyObjectArrayCtor() var s = new PyList(ai); Assert.IsInstanceOf(typeof(PyList), s); - Assert.AreEqual(3, s.Length()); - Assert.AreEqual("3", s[0].ToString()); - Assert.AreEqual("2", s[1].ToString()); - Assert.AreEqual("1", s[2].ToString()); + Assert.That(s.Length(), Is.EqualTo(3)); + Assert.That(s[0].ToString(), Is.EqualTo("3")); + Assert.That(s[1].ToString(), Is.EqualTo("2")); + Assert.That(s[2].ToString(), Is.EqualTo("1")); } [Test] @@ -72,7 +72,7 @@ public void TestPyObjectCtor() var s = new PyList(a); Assert.IsInstanceOf(typeof(PyList), s); - Assert.AreEqual(0, s.Length()); + Assert.That(s.Length(), Is.EqualTo(0)); } [Test] @@ -83,7 +83,7 @@ public void TestBadPyObjectCtor() var ex = Assert.Throws(() => t = new PyList(i)); - Assert.AreEqual("object is not a list", ex.Message); + Assert.That(ex.Message, Is.EqualTo("object is not a list")); Assert.IsNull(t); } @@ -94,8 +94,8 @@ public void TestAppend() var s = new PyList(ai); s.Append(new PyInt(4)); - Assert.AreEqual(4, s.Length()); - Assert.AreEqual("4", s[3].ToString()); + Assert.That(s.Length(), Is.EqualTo(4)); + Assert.That(s[3].ToString(), Is.EqualTo("4")); } [Test] @@ -105,8 +105,8 @@ public void TestInsert() var s = new PyList(ai); s.Insert(0, new PyInt(4)); - Assert.AreEqual(4, s.Length()); - Assert.AreEqual("4", s[0].ToString()); + Assert.That(s.Length(), Is.EqualTo(4)); + Assert.That(s[0].ToString(), Is.EqualTo("4")); } [Test] @@ -117,10 +117,10 @@ public void TestReverse() s.Reverse(); - Assert.AreEqual(3, s.Length()); - Assert.AreEqual("2", s[0].ToString()); - Assert.AreEqual("1", s[1].ToString()); - Assert.AreEqual("3", s[2].ToString()); + Assert.That(s.Length(), Is.EqualTo(3)); + Assert.That(s[0].ToString(), Is.EqualTo("2")); + Assert.That(s[1].ToString(), Is.EqualTo("1")); + Assert.That(s[2].ToString(), Is.EqualTo("3")); } [Test] @@ -131,10 +131,10 @@ public void TestSort() s.Sort(); - Assert.AreEqual(3, s.Length()); - Assert.AreEqual("1", s[0].ToString()); - Assert.AreEqual("2", s[1].ToString()); - Assert.AreEqual("3", s[2].ToString()); + Assert.That(s.Length(), Is.EqualTo(3)); + Assert.That(s[0].ToString(), Is.EqualTo("1")); + Assert.That(s[1].ToString(), Is.EqualTo("2")); + Assert.That(s[2].ToString(), Is.EqualTo("3")); } [Test] @@ -151,10 +151,10 @@ public void TestOnPyList() result.Add(item.ToString()); } - Assert.AreEqual(3, result.Count); - Assert.AreEqual("foo", result[0]); - Assert.AreEqual("bar", result[1]); - Assert.AreEqual("baz", result[2]); + Assert.That(result.Count, Is.EqualTo(3)); + Assert.That(result[0], Is.EqualTo("foo")); + Assert.That(result[1], Is.EqualTo("bar")); + Assert.That(result[2], Is.EqualTo("baz")); } } } diff --git a/src/embed_tests/TestPyObject.cs b/src/embed_tests/TestPyObject.cs index f762b94e9..27b0a7b26 100644 --- a/src/embed_tests/TestPyObject.cs +++ b/src/embed_tests/TestPyObject.cs @@ -65,7 +65,7 @@ public void UnaryMinus_ThrowsOnBadType() { dynamic list = new PyList(); var error = Assert.Throws(() => list = -list); - Assert.AreEqual("TypeError", error.Type.Name); + Assert.That(error.Type.Name, Is.EqualTo("TypeError")); } [Test] @@ -80,7 +80,7 @@ public void GetAttrDefault_IgnoresAttributeErrorOnly() var typeErrResult = Assert.Throws( () => ob.GetAttr(nameof(PyObjectTestMethods.RaisesTypeError), fallback) ); - Assert.AreEqual(Exceptions.TypeError, typeErrResult.Type); + Assert.That(typeErrResult.Type, Is.EqualTo(Exceptions.TypeError)); } // regression test from https://github.com/pythonnet/pythonnet/issues/1642 diff --git a/src/embed_tests/TestPySequence.cs b/src/embed_tests/TestPySequence.cs index 339ea1e83..df9e73863 100644 --- a/src/embed_tests/TestPySequence.cs +++ b/src/embed_tests/TestPySequence.cs @@ -26,16 +26,16 @@ public void TestGetSlice() var t = new PyString("FooBar"); PyObject s = t.GetSlice(0, 3); - Assert.AreEqual("Foo", s.ToString()); + Assert.That(s.ToString(), Is.EqualTo("Foo")); PyObject s2 = t.GetSlice(3, 6); - Assert.AreEqual("Bar", s2.ToString()); + Assert.That(s2.ToString(), Is.EqualTo("Bar")); PyObject s3 = t.GetSlice(0, 6); - Assert.AreEqual("FooBar", s3.ToString()); + Assert.That(s3.ToString(), Is.EqualTo("FooBar")); PyObject s4 = t.GetSlice(0, 12); - Assert.AreEqual("FooBar", s4.ToString()); + Assert.That(s4.ToString(), Is.EqualTo("FooBar")); } [Test] @@ -46,7 +46,7 @@ public void TestConcat() PyObject actual = t1.Concat(t2); - Assert.AreEqual("FooBar", actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo("FooBar")); } [Test] @@ -55,10 +55,10 @@ public void TestRepeat() var t1 = new PyString("Foo"); PyObject actual = t1.Repeat(3); - Assert.AreEqual("FooFooFoo", actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo("FooFooFoo")); actual = t1.Repeat(-3); - Assert.AreEqual("", actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo("")); } [Test] @@ -75,9 +75,9 @@ public void TestIndex() { var t1 = new PyString("FooBar"); - Assert.AreEqual(4, t1.Index32(new PyString("a"))); - Assert.AreEqual(5L, t1.Index64(new PyString("r"))); - Assert.AreEqual(-(nint)1, t1.Index(new PyString("z"))); + Assert.That(t1.Index32(new PyString("a")), Is.EqualTo(4)); + Assert.That(t1.Index64(new PyString("r")), Is.EqualTo(5L)); + Assert.That(t1.Index(new PyString("z")), Is.EqualTo(-(nint)1)); } } } diff --git a/src/embed_tests/TestPyString.cs b/src/embed_tests/TestPyString.cs index a1fdd6079..f627ab14a 100644 --- a/src/embed_tests/TestPyString.cs +++ b/src/embed_tests/TestPyString.cs @@ -11,7 +11,7 @@ public void TestStringCtor() { const string expected = "foo"; var actual = new PyString(expected); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -19,7 +19,7 @@ public void TestEmptyStringCtor() { const string expected = ""; var actual = new PyString(expected); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -31,7 +31,7 @@ public void TestPyObjectCtor() var t = new PyString(expected); var actual = new PyString(t); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -54,7 +54,7 @@ public void TestCtorBorrowed() var t = new PyString(expected); var actual = new PyString(t.Reference); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -79,7 +79,7 @@ public void TestUnicode() { const string expected = "foo\u00e9"; PyObject actual = new PyString(expected); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -87,8 +87,8 @@ public void TestUnicodeSurrogateToString() { var expected = "foo\ud83d\udc3c"; var actual = PythonEngine.Eval("'foo\ud83d\udc3c'"); - Assert.AreEqual(4, actual.Length()); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.Length(), Is.EqualTo(4)); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -97,8 +97,8 @@ public void TestUnicodeSurrogate() const string expected = "foo\ud83d\udc3c"; // "foo🐼" PyObject actual = new PyString(expected); // python treats "foo🐼" as 4 characters, dotnet as 5 - Assert.AreEqual(4, actual.Length()); - Assert.AreEqual(expected, actual.ToString()); + Assert.That(actual.Length(), Is.EqualTo(4)); + Assert.That(actual.ToString(), Is.EqualTo(expected)); } [Test] @@ -106,9 +106,9 @@ public void CompareTo() { var a = new PyString("foo"); - Assert.AreEqual(0, a.CompareTo("foo")); - Assert.AreEqual("foo".CompareTo("bar"), a.CompareTo("bar")); - Assert.AreEqual("foo".CompareTo("foz"), a.CompareTo("foz")); + Assert.That(a.CompareTo("foo"), Is.EqualTo(0)); + Assert.That(a.CompareTo("bar"), Is.EqualTo("foo".CompareTo("bar"))); + Assert.That(a.CompareTo("foz"), Is.EqualTo("foo".CompareTo("foz"))); } [Test] diff --git a/src/embed_tests/TestPyTuple.cs b/src/embed_tests/TestPyTuple.cs index 3a3fbf2a0..4ccdd30cf 100644 --- a/src/embed_tests/TestPyTuple.cs +++ b/src/embed_tests/TestPyTuple.cs @@ -31,7 +31,7 @@ public void TestPyTupleIsTupleType() public void TestPyTupleEmpty() { var t = new PyTuple(); - Assert.AreEqual(0, t.Length()); + Assert.That(t.Length(), Is.EqualTo(0)); } [Test] @@ -42,7 +42,7 @@ public void TestPyTupleBadCtor() var ex = Assert.Throws(() => t = new PyTuple(i)); - Assert.AreEqual("object is not a tuple", ex.Message); + Assert.That(ex.Message, Is.EqualTo("object is not a tuple")); Assert.IsNull(t); } @@ -52,7 +52,7 @@ public void TestPyTupleCtorEmptyArray() var a = new PyObject[] { }; var t = new PyTuple(a); - Assert.AreEqual(0, t.Length()); + Assert.That(t.Length(), Is.EqualTo(0)); } [Test] @@ -61,7 +61,7 @@ public void TestPyTupleCtorArrayPyIntEmpty() var a = new PyInt[] { }; var t = new PyTuple(a); - Assert.AreEqual(0, t.Length()); + Assert.That(t.Length(), Is.EqualTo(0)); } [Test] @@ -70,7 +70,7 @@ public void TestPyTupleCtorArray() var a = new PyObject[] { new PyInt(1), new PyString("Foo") }; var t = new PyTuple(a); - Assert.AreEqual(2, t.Length()); + Assert.That(t.Length(), Is.EqualTo(2)); } //github.com/ @@ -93,7 +93,7 @@ public void TestPyTupleInvalidAppend() var ex = Assert.Throws(() => t.Concat(s)); StringAssert.StartsWith("can only concatenate tuple", ex.Message); - Assert.AreEqual(0, t.Length()); + Assert.That(t.Length(), Is.EqualTo(0)); Assert.IsEmpty(t); } @@ -116,9 +116,9 @@ public void TestPyTupleStringConvert() Assert.IsNotNull(t); Assert.IsInstanceOf(typeof(PyTuple), t); - Assert.AreEqual("f", t[0].ToString()); - Assert.AreEqual("o", t[1].ToString()); - Assert.AreEqual("o", t[2].ToString()); + Assert.That(t[0].ToString(), Is.EqualTo("f")); + Assert.That(t[1].ToString(), Is.EqualTo("o")); + Assert.That(t[2].ToString(), Is.EqualTo("o")); } [Test] @@ -152,7 +152,7 @@ public void TestInvalidAsTuple() var ex = Assert.Throws(() => t = PyTuple.AsTuple(i)); - Assert.AreEqual("'int' object is not iterable", ex.Message); + Assert.That(ex.Message, Is.EqualTo("'int' object is not iterable")); Assert.IsNull(t); } } diff --git a/src/embed_tests/TestPyType.cs b/src/embed_tests/TestPyType.cs index c29032a8a..cd7d37816 100644 --- a/src/embed_tests/TestPyType.cs +++ b/src/embed_tests/TestPyType.cs @@ -28,9 +28,9 @@ public void CanCreateHeapType() ); using var type = new PyType(spec); - Assert.AreEqual(name, type.GetAttr("__name__").As()); - Assert.AreEqual(name, type.Name); - Assert.AreEqual(docStr, type.GetAttr("__doc__").As()); + Assert.That(type.GetAttr("__name__").As(), Is.EqualTo(name)); + Assert.That(type.Name, Is.EqualTo(name)); + Assert.That(type.GetAttr("__doc__").As(), Is.EqualTo(docStr)); } } } diff --git a/src/embed_tests/TestPythonEngineProperties.cs b/src/embed_tests/TestPythonEngineProperties.cs index 485931cfb..8d5a17491 100644 --- a/src/embed_tests/TestPythonEngineProperties.cs +++ b/src/embed_tests/TestPythonEngineProperties.cs @@ -72,7 +72,7 @@ public static void GetPythonPathDefault() { string s = PythonEngine.PythonPath; - StringAssert.Contains("python", s.ToLower()); + Assert.That(s.ToLower(), Does.Contain("python")); } [Test] @@ -94,7 +94,7 @@ public static void GetPythonHomeDefault() string enginePythonHome = PythonEngine.PythonHome; - Assert.AreEqual(envPythonHome, enginePythonHome); + Assert.That(enginePythonHome, Is.EqualTo(envPythonHome)); } } } diff --git a/src/embed_tests/TestPythonException.cs b/src/embed_tests/TestPythonException.cs index 91a412749..f69ba7a8f 100644 --- a/src/embed_tests/TestPythonException.cs +++ b/src/embed_tests/TestPythonException.cs @@ -14,7 +14,7 @@ public void TestMessage() var ex = Assert.Throws(() => foo = list[0]); - Assert.AreEqual("list index out of range", ex.Message); + Assert.That(ex.Message, Is.EqualTo("list index out of range")); Assert.IsNull(foo); } @@ -26,7 +26,7 @@ public void TestType() var ex = Assert.Throws(() => foo = list[0]); - Assert.AreEqual("IndexError", ex.Type.Name); + Assert.That(ex.Type.Name, Is.EqualTo("IndexError")); Assert.IsNull(foo); } @@ -108,7 +108,7 @@ public void TestPythonExceptionFormatNoTraceback() catch (PythonException ex) { // ImportError/ModuleNotFoundError do not have a traceback when not running in a script - Assert.AreEqual(ex.StackTrace, ex.Format()); + Assert.That(ex.Format(), Is.EqualTo(ex.StackTrace)); } } @@ -151,7 +151,7 @@ def __init__(self, val): // exception was raised by initializing the exception Assert.IsFalse(PythonReferenceComparer.Instance.Equals(type, typeObj)); // the message should now be the string from the throw exception during normalization - Assert.AreEqual("invalid literal for int() with base 10: 'dummy string'", strObj.ToString()); + Assert.That(strObj.ToString(), Is.EqualTo("invalid literal for int() with base 10: 'dummy string'")); } } diff --git a/src/embed_tests/pyimport.cs b/src/embed_tests/pyimport.cs index c774af345..0236bf0f6 100644 --- a/src/embed_tests/pyimport.cs +++ b/src/embed_tests/pyimport.cs @@ -73,12 +73,12 @@ public void TestSysArgsImportException() public void TestCastGlobalVar() { dynamic foo = Py.Import("PyImportTest.cast_global_var"); - Assert.AreEqual("1", foo.FOO.ToString()); - Assert.AreEqual("1", foo.test_foo().ToString()); + Assert.That(foo.FOO.ToString(), Is.EqualTo("1")); + Assert.That(foo.test_foo().ToString(), Is.EqualTo("1")); foo.FOO = 2; - Assert.AreEqual("2", foo.FOO.ToString()); - Assert.AreEqual("2", foo.test_foo().ToString()); + Assert.That(foo.FOO.ToString(), Is.EqualTo("2")); + Assert.That(foo.test_foo().ToString(), Is.EqualTo("2")); } [Test] From e73e7c172518c7aa72c9d6660178245e8d442b0e Mon Sep 17 00:00:00 2001 From: Benedikt Reinartz Date: Tue, 12 May 2026 21:53:31 +0200 Subject: [PATCH 2/2] Drop some obsolete comments and reenable some tests --- src/embed_tests/Dynamic.cs | 10 ---------- src/embed_tests/TestPyString.cs | 2 -- src/embed_tests/TestPyTuple.cs | 2 -- src/runtime/Native/CustomMarshaler.cs | 25 ++++--------------------- src/runtime/PythonEngine.cs | 12 ++++++------ tests/conftest.py | 2 -- tests/test_array.py | 7 +++---- tests/test_field.py | 1 - 8 files changed, 13 insertions(+), 48 deletions(-) diff --git a/src/embed_tests/Dynamic.cs b/src/embed_tests/Dynamic.cs index 186090e6a..9d35bfacc 100644 --- a/src/embed_tests/Dynamic.cs +++ b/src/embed_tests/Dynamic.cs @@ -45,19 +45,9 @@ public void AssignNone() //github.com/ Check whether we can get the attr of a python object when the //github.com/ value of attr is a PyObject. //github.com/ - //github.com/ - //github.com/ FIXME: Issue on Travis PY27: Error : Python.EmbeddingTest.dynamicTest.AssignPyObject - //github.com/ Python.Runtime.PythonException : ImportError : /home/travis/virtualenv/python2.7.9/lib/python2.7/lib-dynload/_io.so: undefined symbol: _PyLong_AsInt - //github.com/ [Test] public void AssignPyObject() { - if (Environment.GetEnvironmentVariable("TRAVIS") == "true" && - Environment.GetEnvironmentVariable("TRAVIS_PYTHON_VERSION") == "2.7") - { - Assert.Ignore("Fails on Travis/PY27: ImportError: ... undefined symbol: _PyLong_AsInt"); - } - dynamic sys = Py.Import("sys"); dynamic io = Py.Import("io"); sys.testattr = io.StringIO(); diff --git a/src/embed_tests/TestPyString.cs b/src/embed_tests/TestPyString.cs index f627ab14a..8949ca28c 100644 --- a/src/embed_tests/TestPyString.cs +++ b/src/embed_tests/TestPyString.cs @@ -23,7 +23,6 @@ public void TestEmptyStringCtor() } [Test] - [Ignore("Ambiguous behavior between PY2/PY3. Needs remapping")] public void TestPyObjectCtor() { const string expected = "Foo"; @@ -58,7 +57,6 @@ public void TestCtorBorrowed() } [Test] - [Ignore("Ambiguous behavior between PY2/PY3. Needs remapping")] public void IsStringTrue() { var t = new PyString("foo"); diff --git a/src/embed_tests/TestPyTuple.cs b/src/embed_tests/TestPyTuple.cs index 4ccdd30cf..2a9238533 100644 --- a/src/embed_tests/TestPyTuple.cs +++ b/src/embed_tests/TestPyTuple.cs @@ -81,8 +81,6 @@ public void TestPyTupleCtorArray() //github.com/ Test has second purpose. Currently it generated an Exception //github.com/ that the GC failed to remove often and caused AppDomain unload //github.com/ errors at the end of tests. See GH#397 for more info. - //github.com/ - //github.com/ Curious, on PY27 it gets a Unicode on the ex.Message. On PY3+ its string. //github.com/ [Test] public void TestPyTupleInvalidAppend() diff --git a/src/runtime/Native/CustomMarshaler.cs b/src/runtime/Native/CustomMarshaler.cs index 299af3a33..58f7c6b20 100644 --- a/src/runtime/Native/CustomMarshaler.cs +++ b/src/runtime/Native/CustomMarshaler.cs @@ -72,7 +72,7 @@ public static ICustomMarshaler GetInstance(string cookie) return Instance; } - public static string? PtrToStringUni(IntPtr p) + public static string? PtrToString(IntPtr p) { if (p == IntPtr.Zero) { @@ -106,36 +106,19 @@ public static int GetUnicodeByteLength(IntPtr p) } //github.com/ - //github.com/ Utility function for Marshaling Unicode on PY3 and AnsiStr on PY2. - //github.com/ Use on functions whose Input signatures changed between PY2/PY3. - //github.com/ Ex. Py_SetPythonHome + //github.com/ Utility function for Marshaling Unicode //github.com/ //github.com/ Managed String //github.com/ - //github.com/ Ptr to Native String ANSI(PY2)/Unicode(PY3/UCS2)/UTF32(PY3/UCS4. + //github.com/ Ptr to Native String //github.com/ //github.com/ //github.com/ You MUST deallocate the IntPtr of the Return when done with it. //github.com/ - public static IntPtr Py3UnicodePy2StringtoPtr(string s) + public static IntPtr StringToPtr(string s) { return Instance.MarshalManagedToNative(s); } - - //github.com/ - //github.com/ Utility function for Marshaling Unicode IntPtr on PY3 and - //github.com/ AnsiStr IntPtr on PY2 to Managed Strings. Use on Python functions - //github.com/ whose return type changed between PY2/PY3. - //github.com/ Ex. Py_GetPythonHome - //github.com/ - //github.com/ Native Ansi/Unicode/UTF32 String - //github.com/ - //github.com/ Managed String - //github.com/ - public static string? PtrToPy3UnicodePy2String(IntPtr p) - { - return PtrToStringUni(p); - } } diff --git a/src/runtime/PythonEngine.cs b/src/runtime/PythonEngine.cs index 13855adef..fd04d4a3e 100644 --- a/src/runtime/PythonEngine.cs +++ b/src/runtime/PythonEngine.cs @@ -88,13 +88,13 @@ public static string ProgramName get { IntPtr p = Runtime.TryUsingDll(() => Runtime.Py_GetProgramName()); - return UcsMarshaler.PtrToPy3UnicodePy2String(p) ?? ""; + return UcsMarshaler.PtrToString(p) ?? ""; } set { Marshal.FreeHGlobal(_programName); _programName = Runtime.TryUsingDll( - () => UcsMarshaler.Py3UnicodePy2StringtoPtr(value) + () => UcsMarshaler.StringToPtr(value) ); Runtime.Py_SetProgramName(_programName); } @@ -106,13 +106,13 @@ public static string PythonHome { EnsureInitialized(); IntPtr p = Runtime.TryUsingDll(() => Runtime.Py_GetPythonHome()); - return UcsMarshaler.PtrToPy3UnicodePy2String(p) ?? ""; + return UcsMarshaler.PtrToString(p) ?? ""; } set { // this value is null in the beginning Marshal.FreeHGlobal(_pythonHome); - _pythonHome = UcsMarshaler.Py3UnicodePy2StringtoPtr(value); + _pythonHome = UcsMarshaler.StringToPtr(value); Runtime.TryUsingDll(() => Runtime.Py_SetPythonHome(_pythonHome)); } } @@ -122,13 +122,13 @@ public static string PythonPath get { IntPtr p = Runtime.TryUsingDll(() => Runtime.Py_GetPath()); - return UcsMarshaler.PtrToPy3UnicodePy2String(p) ?? ""; + return UcsMarshaler.PtrToString(p) ?? ""; } set { Marshal.FreeHGlobal(_pythonPath); _pythonPath = Runtime.TryUsingDll( - () => UcsMarshaler.Py3UnicodePy2StringtoPtr(value) + () => UcsMarshaler.StringToPtr(value) ); Runtime.Py_SetPath(_pythonPath); } diff --git a/tests/conftest.py b/tests/conftest.py index 1ac20e1dd..0576e161e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -# TODO: move tests one out of src to project root. -# TODO: travis has numpy on their workers. Maybe add tests? """Helpers for testing.""" diff --git a/tests/test_array.py b/tests/test_array.py index d207a36fb..0d4028be8 100644 --- a/tests/test_array.py +++ b/tests/test_array.py @@ -120,10 +120,9 @@ def test_array_contains(): assert 3 in items assert 4 in items - assert not (5 in items) # "H:\Python27\Lib\unittest\case.py", line 592, in deprecated_func, - assert not (-1 in items) # TypeError: int() argument must be a string or a number, not 'NoneType' - assert not (None in items) # which threw ^ here which is a little odd. - # But when run from runtests.py. Not when this module ran by itself. + assert not (5 in items) + assert not (-1 in items) + assert not (None in items) def test_boolean_array(): diff --git a/tests/test_field.py b/tests/test_field.py index 52fed54cb..c45a85468 100644 --- a/tests/test_field.py +++ b/tests/test_field.py @@ -190,7 +190,6 @@ def test_field_descriptor_abuse(): def test_boolean_field(): """Test boolean fields.""" - # change this to true / false later for Python 2.3? ob = FieldTest() assert ob.BooleanField is False pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy