public void FixedStringNParseFloatNan() { FixedStringN aa = new FixedStringN("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 FixedStringNParseFloatInfinity() { FixedStringN aa = new FixedStringN("Infinity"); int offset = 0; float output = 0; var result = aa.Parse(ref offset, ref output); Assert.AreEqual(ParseError.None, result); Assert.IsTrue(Single.IsPositiveInfinity(output)); }
public void FixedStringNParseIntWorks(String a, int expectedOffset, int expectedOutput, ParseError expectedResult) { FixedStringN aa = new FixedStringN(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 FixedStringNParseFloat(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 {} FixedStringN nativeLocalizedString = new FixedStringN(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); } }