public void NativeString64ParseFloatNan() { NativeString64 aa = new NativeString64("NaN"); int offset = 0; float output = 0; var result = aa.Parse(ref offset, ref output); Assert.AreEqual(ParseError.None, result); Assert.IsTrue(Single.IsNaN(output)); }
public void NativeString64ParseIntWorks(String a, int expectedOffset, int expectedOutput, ParseError expectedResult) { NativeString64 aa = new NativeString64(a); int offset = 0; int output = 0; var result = aa.Parse(ref offset, ref output); Assert.AreEqual(expectedResult, result); Assert.AreEqual(expectedOffset, offset); if (result == ParseError.None) { Assert.AreEqual(expectedOutput, output); } }
public void NativeString64ParseFloat(String unlocalizedString, int expectedOffset, ParseError expectedResult) { var localizedDecimalSeparator = Convert.ToChar(Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator); var localizedString = unlocalizedString.Replace('.', localizedDecimalSeparator); float expectedOutput = 0; try { expectedOutput = Single.Parse(localizedString); } catch {} NativeString64 nativeLocalizedString = new NativeString64(localizedString); int offset = 0; float output = 0; var result = nativeLocalizedString.Parse(ref offset, ref output, localizedDecimalSeparator); Assert.AreEqual(expectedResult, result); Assert.AreEqual(expectedOffset, offset); if (result == ParseError.None) { Assert.AreEqual(expectedOutput, output); } }