Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }