Exemple #1
0
 static StdErrLog()
 {
     try
     {
         _dateCache = new DateCache("yyyy-MM-dd HH:mm:ss");
     }
     catch (Exception e)
     {
         Console.Error.WriteLine(e.StackTrace);
     }
 }
Exemple #2
0
        public void TestDateCache()
        {
            DateCache dc = new DateCache("ddd, dd MMM yyyy HH:mm:ss zzz ZZZ",
                                         CultureInfo.CurrentCulture);

            dc.TimeZone = TimeZoneInfo.Utc;
            string last   = dc.Format(DateTime.Now.Ticks);
            bool   change = false;

            for (int i = 0; i < 15; i++)
            {
                Thread.Sleep(100);
                string date = dc.Format(DateTime.Now.Ticks);

                Assert.AreEqual(last.Substring(0, 17),
                                date.Substring(0, 17), "Same Date");


                if (!last.Substring(17).Equals(date.Substring(17)))
                {
                    change = true;
                }
                else
                {
                    int lh = int.Parse(last.Substring(17, 2));
                    int dh = int.Parse(date.Substring(17, 2));
                    int lm = int.Parse(last.Substring(20, 2));
                    int dm = int.Parse(date.Substring(20, 2));
                    int ls = int.Parse(last.Substring(23, 2));
                    int ds = int.Parse(date.Substring(23, 2));

                    // This won't work at midnight!
                    change |= ds != ls || dm != lm || dh != lh;
                }
                last = date;
            }
            Assert.IsTrue(change, "time changed");


            // Test string is cached
            dc = new DateCache();
            string s1 = dc.Format(DateTime.Now.Ticks);

            dc.Format(1);
            string s2 = dc.Format(DateTime.Now.Ticks);

            dc.Format(DateTime.Now.Ticks + (10 * 60 * 60 * 1000));
            string s3 = dc.Format(DateTime.Now.Ticks);

            Assert.IsTrue(s1 == s2 || s2 == s3);
        }