public void ParseDate_with_milliseconds()
        {
            var parser = new DateTimeFieldParser();
            var dt     = parser.ParseDate("2001-01-02T03:04:05.245Z");

            Assert.AreEqual(new DateTime(2001, 1, 2, 3, 4, 5, 245), dt);
        }
Esempio n. 2
0
        public void RoundTrip(DateTime dt)
        {
            var value = DateTimeFieldParser.ParseDate(DateTimeFieldSerializer.SerializeDate(dt));

            Assert.AreEqual(dt, value);
            Assert.AreEqual(dt.Kind, value.Kind);
        }
Esempio n. 3
0
        public void ParseYears(int year, int month, int day, int hour, int minute, int second, int milliseconds = 0)
        {
            var date     = new DateTime(year, month, day, hour, minute, second, milliseconds, DateTimeKind.Utc);
            var dateTime = DateTimeFieldParser.ParseDate(date.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"));

            Assert.AreEqual(date, dateTime);
            Assert.AreEqual(date.Kind, dateTime.Kind);
        }
Esempio n. 4
0
        public void RoundTripUtcDateTime(int year, int month, int day, int hour, int minute, int second, int milliseconds = 0)
        {
            var date  = new DateTime(year, month, day, hour, minute, second, milliseconds, DateTimeKind.Utc);
            var value = DateTimeFieldParser.ParseDate(DateTimeFieldSerializer.SerializeDate(date));

            Assert.AreEqual(date, value);
            Assert.AreEqual(date.Kind, value.Kind);
        }
Esempio n. 5
0
 public static IEnumerable <Test> ParseYears()
 {
     return(parsedDates.Select(pd => {
         var name = "ParseYears " + pd.Key;
         Test t = new TestCase(name, () => Assert.AreEqual(pd.Value, DateTimeFieldParser.ParseDate(pd.Key)));
         return t;
     }));
 }
Esempio n. 6
0
        public static void ParseYears(KeyValuePair <string, DateTime> pd)
        {
            var name  = "ParseYears " + pd.Key;
            var value = DateTimeFieldParser.ParseDate(pd.Key);

            Assert.Equal(pd.Value, value);
            Assert.Equal(pd.Value.Kind, value.Kind);
        }
Esempio n. 7
0
 public static IEnumerable <Test> RoundTrip()
 {
     return(dateTimes.Select(dt => {
         Test t = new TestCase("RoundTrip " + dt, () => {
             var value = DateTimeFieldParser.ParseDate(DateTimeFieldSerializer.SerializeDate(dt));
             Assert.AreEqual(dt, value);
         });
         return t;
     }));
 }
Esempio n. 8
0
        public void RoundTrip(DateTime dt)
        {
            var parser     = new DateTimeFieldParser();
            var serializer = new DateTimeFieldSerializer();
            var s          = serializer.SerializeDate(dt);

            Console.WriteLine(s);
            var value = parser.ParseDate(s);

            Console.WriteLine(value.ToString("r"));
            Assert.AreEqual(dt, value);
        }
Esempio n. 9
0
        public DateFacetingResult ParseDateFacetingNode(XElement node)
        {
            var r          = new DateFacetingResult();
            var dateParser = new DateTimeFieldParser();
            var intParser  = new IntFieldParser();

            foreach (var dateFacetingNode in node.Elements())
            {
                var name = dateFacetingNode.Attribute("name").Value;
                switch (name)
                {
                case "gap":
                    r.Gap = dateFacetingNode.Value;
                    break;

                case "end":
                    r.End = (DateTime)dateParser.Parse(dateFacetingNode, typeof(DateTime));
                    break;

                default:
                    // Temp fix to support Solr 3.1, which has added a new element <date name="start">...</date>
                    // not seen in Solr 1.4 to the facet date response – just ignore this element.
                    if (dateFacetingNode.Name != "int")
                    {
                        break;
                    }

                    var count = (int)intParser.Parse(dateFacetingNode, typeof(int));
                    if (name == FacetDateOther.After.ToString())
                    {
                        r.OtherResults[FacetDateOther.After] = count;
                    }
                    else if (name == FacetDateOther.Before.ToString())
                    {
                        r.OtherResults[FacetDateOther.Before] = count;
                    }
                    else if (name == FacetDateOther.Between.ToString())
                    {
                        r.OtherResults[FacetDateOther.Between] = count;
                    }
                    else
                    {
                        var d = dateParser.ParseDate(name);
                        r.DateResults.Add(KV(d, count));
                    }
                    break;
                }
            }
            return(r);
        }
Esempio n. 10
0
        public DateFacetingResult ParseDateFacetingNode(XElement node)
        {
            var r          = new DateFacetingResult();
            var dateParser = new DateTimeFieldParser();
            var intParser  = new IntFieldParser();

            foreach (var dateFacetingNode in node.Elements())
            {
                var name = dateFacetingNode.Attribute("name").Value;
                switch (name)
                {
                case "gap":
                    r.Gap = dateFacetingNode.Value;
                    break;

                case "end":
                    r.End = (DateTime)dateParser.Parse(dateFacetingNode, typeof(DateTime));
                    break;

                default:
                    var count = (int)intParser.Parse(dateFacetingNode, typeof(int));
                    if (name == FacetDateOther.After.ToString())
                    {
                        r.OtherResults[FacetDateOther.After] = count;
                    }
                    else if (name == FacetDateOther.Before.ToString())
                    {
                        r.OtherResults[FacetDateOther.Before] = count;
                    }
                    else if (name == FacetDateOther.Between.ToString())
                    {
                        r.OtherResults[FacetDateOther.Between] = count;
                    }
                    else
                    {
                        var d = dateParser.ParseDate(name);
                        r.DateResults.Add(KV(d, count));
                    }
                    break;
                }
            }
            return(r);
        }
Esempio n. 11
0
 public static void ParseYearsTest(KeyValuePair <string, DateTime> pd)
 {
     Assert.AreEqual(pd.Value, DateTimeFieldParser.ParseDate(pd.Key));
     Assert.AreEqual(pd.Value.Kind, pd.Value.Kind);
 }
Esempio n. 12
0
        public void ParseDate_without_milliseconds()
        {
            var dt = DateTimeFieldParser.ParseDate("2001-01-02T03:04:05Z");

            Assert.AreEqual(new DateTime(2001, 1, 2, 3, 4, 5), dt);
        }
Esempio n. 13
0
        public void ParseYears(string d, DateTime dt)
        {
            var p = new DateTimeFieldParser();

            Assert.AreEqual(dt, p.ParseDate(d));
        }