示例#1
0
 private static unsafe bool TryParseTimeSpan(string str, out TimeSpan ts)
 {
     fixed(char *c = str)
     {
         return(LazyStringParser.TryParseTimeSpan(c, str.Length, out ts));
     }
 }
示例#2
0
        public void CanParseValidTimeSpans(string dt)
        {
            var expected = TimeSpan.ParseExact(dt, "c", CultureInfo.InvariantCulture);

            var bytes = Encoding.UTF8.GetBytes(dt);

            fixed(byte *buffer = bytes)
            {
                TimeSpan ts;

                Assert.True(LazyStringParser.TryParseTimeSpan(buffer, bytes.Length, out ts));
                Assert.Equal(expected, ts);
            }
        }
示例#3
0
        public void WillNotParseAsTimeSpan(string dt)
        {
            TimeSpan expected;
            var      result = TimeSpan.TryParseExact(dt, "c", CultureInfo.InvariantCulture, out expected);

            Assert.False(result);

            var bytes = Encoding.UTF8.GetBytes(dt);

            fixed(byte *buffer = bytes)
            {
                TimeSpan ts;

                Assert.False(LazyStringParser.TryParseTimeSpan(buffer, bytes.Length, out ts));
                Assert.Equal(expected, ts);
            }
        }