Exemplo n.º 1
0
 public void TestRDP_RequiredHexDigits()
 {
     // fails due to end of stream
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("")))
     {
         int?result;
         // required
         Assert.IsFalse(DateTimeZoneParser.ParseHexDigits(ms, null, true, out result));
         // optional
         Assert.IsTrue(DateTimeZoneParser.ParseHexDigits(ms, null, false, out result));
         Assert.IsFalse(result.HasValue);
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsFalse(result.HasValue);
     }
     // any value
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("1ff FFFF")))
     {
         int? result;
         char?space;
         Assert.AreEqual <long>(0, ms.Position);
         Assert.IsTrue(DateTimeZoneParser.ParseHexDigits(ms, null, true, out result));
         Assert.AreEqual <long>(3, ms.Position);
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <int>(511, result.Value);
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, ' ', true, out space));
         Assert.AreEqual <long>(4, ms.Position);
         Assert.IsTrue(DateTimeZoneParser.ParseHexDigits(ms, null, true, out result));
         Assert.AreEqual <long>(8, ms.Position);
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <int>(65535, result.Value);
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
     }
 }
Exemplo n.º 2
0
 public void TestRDP_EmptyStream()
 {
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("")))
     {
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
     }
 }
Exemplo n.º 3
0
        public void TestDTZParserPassesForTimeWithFractionalSecondsPlusZone()
        {
            var dtz = new DateTimeZoneParser("20:08:10.5000000-05:00");

            Assert.IsFalse(dtz.DatePart.HasValue);
            Assert.IsTrue(dtz.TimePart.HasValue);
            Assert.IsTrue(dtz.ZonePart.HasValue);
        }
Exemplo n.º 4
0
        public void TestDTZParserPassesForDateAndTimeAndZone()
        {
            var dtz = new DateTimeZoneParser("2012-10-31T23:59:59+10:00");

            Assert.IsTrue(dtz.DatePart.HasValue);
            Assert.IsTrue(dtz.TimePart.HasValue);
            Assert.IsTrue(dtz.ZonePart.HasValue);
        }
Exemplo n.º 5
0
        public void TestDTZParserPassesForDateWithZoneUtc()
        {
            var dtz = new DateTimeZoneParser("2012-10-31Z");

            Assert.IsTrue(dtz.DatePart.HasValue);
            Assert.IsFalse(dtz.TimePart.HasValue);
            Assert.IsTrue(dtz.ZonePart.HasValue);
        }
Exemplo n.º 6
0
        public void TestDTZParserPassesForTimeOnly()
        {
            var dtz = new DateTimeZoneParser("23:59:59");

            Assert.IsFalse(dtz.DatePart.HasValue);
            Assert.IsTrue(dtz.TimePart.HasValue);
            Assert.IsFalse(dtz.ZonePart.HasValue);
        }
Exemplo n.º 7
0
        public void TestDtzParserPassesForDateWithZoneOffset()
        {
            var dtz = new DateTimeZoneParser("2012-10-31-05:00");

            Assert.IsTrue(dtz.DatePart.HasValue);
            Assert.IsFalse(dtz.TimePart.HasValue);
            Assert.IsTrue(dtz.ZonePart.HasValue);
        }
Exemplo n.º 8
0
        public void TestDtzParserPassesForDateAndTime()
        {
            var dtz = new DateTimeZoneParser("2012-10-31T23:59:59");

            Assert.IsTrue(dtz.DatePart.HasValue);
            Assert.IsTrue(dtz.TimePart.HasValue);
            Assert.IsFalse(dtz.ZonePart.HasValue);
        }
Exemplo n.º 9
0
 public void TestRDP_OptionalChar()
 {
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("")))
     {
         char?result;
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, '+', false, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsFalse(result.HasValue);
     }
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("+")))
     {
         char?result;
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, '+', false, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <char>('+', result.Value);
     }
 }
Exemplo n.º 10
0
 public void TestRDP_RequiredChar()
 {
     // fails due to end of stream
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("")))
     {
         char?result;
         Assert.IsFalse(DateTimeZoneParser.ParseChar(ms, null, true, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsFalse(result.HasValue);
     }
     // specific value
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("+")))
     {
         char?result;
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, '+', true, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <char>('+', result.Value);
     }
     // any value
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("*")))
     {
         char?result;
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, null, true, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <char>('*', result.Value);
     }
     // fails due to incorrect value, but retry succeeds
     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes("+")))
     {
         char?result;
         Assert.IsFalse(DateTimeZoneParser.ParseChar(ms, '-', true, out result));
         Assert.IsFalse(result.HasValue);
         // retry
         Assert.IsTrue(DateTimeZoneParser.ParseChar(ms, '+', true, out result));
         Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
         Assert.IsTrue(result.HasValue);
         Assert.AreEqual <char>('+', result.Value);
     }
 }
Exemplo n.º 11
0
        public void TestRDP_Integers()
        {
            List <TestPair <int> > testPairs = new List <TestPair <int> >();

            testPairs.Add(new TestPair <int>("", null));
            testPairs.Add(new TestPair <int>("123", 123));
            testPairs.Add(new TestPair <int>("-123", -123));
            testPairs.Add(new TestPair <int>("+123", 123));
            testPairs.Add(new TestPair <int>("0x7b", 123));

            foreach (var testPair in testPairs)
            {
                using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(testPair.Input)))
                {
                    int?result;
                    Assert.IsTrue(DateTimeZoneParser.ParseInt32(ms, false, out result), String.Format("Input='{0}'", testPair.Input));
                    Assert.AreEqual <int?>(testPair.Result, result, String.Format("Input='{0}'", testPair.Input));
                    Assert.IsTrue(DateTimeZoneParser.ParseEndOfStream(ms));
                }
            }
        }
Exemplo n.º 12
0
 public void TestDTZParserFailsWithZoneOnly()
 {
     var dtz = new DateTimeZoneParser("+10:00");
 }
Exemplo n.º 13
0
 public void TestDTZParserFailsWithWrongTimeSeparatorsB()
 {
     var dtz = new DateTimeZoneParser("23/59/59");
 }
Exemplo n.º 14
0
 public void TestDtzParserFailsWithWrongTimeSeparatorsA()
 {
     var dtz = new DateTimeZoneParser("23.59.59");
 }
Exemplo n.º 15
0
 public void TestDTZParserFailsWhenInputIsNull()
 {
     var dtz = new DateTimeZoneParser(null);
 }
Exemplo n.º 16
0
 public void TestDTZParserFailsWithWrongDateSeparatorsC()
 {
     var dtz = new DateTimeZoneParser("2012:10:31");
 }
Exemplo n.º 17
0
 public void TestDtzParserFailsWithWrongDateSeparatorsB()
 {
     var dtz = new DateTimeZoneParser("2012.10.31");
 }