using NUnit.Framework; using Python.Runtime; namespace Python.EmbeddingTest { public class TestConverter { [OneTimeSetUp] public void SetUp() { PythonEngine.Initialize(); } [OneTimeTearDown] public void Dispose() { PythonEngine.Shutdown(); } [Test] public void TestConvertSingleToManaged( [Values(float.PositiveInfinity, float.NegativeInfinity, float.MinValue, float.MaxValue, float.NaN, float.Epsilon)] float testValue) { var pyFloat = new PyFloat(testValue); object convertedValue; var converted = Converter.ToManaged(pyFloat.Handle, typeof(float), out convertedValue, false); Assert.IsTrue(converted); Assert.IsTrue(((float) convertedValue).Equals(testValue)); } [Test] public void TestConvertDoubleToManaged( [Values(double.PositiveInfinity, double.NegativeInfinity, double.MinValue, double.MaxValue, double.NaN, double.Epsilon)] double testValue) { var pyFloat = new PyFloat(testValue); object convertedValue; var converted = Converter.ToManaged(pyFloat.Handle, typeof(double), out convertedValue, false); Assert.IsTrue(converted); Assert.IsTrue(((double) convertedValue).Equals(testValue)); } } }