Merge pull request #409 from Alkarex/patch-1
[mono.git] / mcs / class / corlib / Test / System / DateTimeTest.cs
index 4954c9bf918aab60fd5a4edc214588bc811e0b49..05fd44ea5283dcbb951c7e0367255f842af2f313 100644 (file)
@@ -1,4 +1,4 @@
-//
+//
 // DateTimeTest.cs - NUnit Test Cases for the System.DateTime struct
 //
 // author:
@@ -1749,6 +1749,41 @@ namespace MonoTests.System
                {
                        DateTime.FromFileTimeUtc (-1);
                }
+
+               [Test]
+               public void ToFileTimeUtc ()
+               {
+                       // Randomly generated time outside DST.
+                       var utc = new DateTime (1993, 01, 28, 08, 49, 48, DateTimeKind.Utc);
+                       var local = utc.ToLocalTime ();
+                       var unspecified = new DateTime (1993, 01, 28, 08, 49, 48);
+
+                       Assert.AreEqual (DateTimeKind.Utc, utc.Kind);
+                       Assert.AreEqual (DateTimeKind.Local, local.Kind);
+                       Assert.AreEqual (DateTimeKind.Unspecified, unspecified.Kind);
+
+                       Assert.AreEqual (628638077880000000, utc.Ticks);
+                       Console.WriteLine (local.Ticks - utc.Ticks);
+
+                       var offset = TimeZone.CurrentTimeZone.GetUtcOffset (local);
+
+                       var utcFt = utc.ToFileTime ();
+                       var localFt = local.ToFileTime ();
+                       var unspecifiedFt = unspecified.ToFileTime ();
+
+                       var utcUft = utc.ToFileTimeUtc ();
+                       var localUft = local.ToFileTimeUtc ();
+                       var unspecifiedUft = unspecified.ToFileTimeUtc ();
+
+                       Assert.AreEqual (123726845880000000, utcFt);
+                       Assert.AreEqual (utcFt, localFt);
+
+                       Assert.AreEqual (offset.Ticks, utcFt - unspecifiedFt);
+
+                       Assert.AreEqual (utcFt, utcUft);
+                       Assert.AreEqual (utcFt, localUft);
+                       Assert.AreEqual (utcFt, unspecifiedUft);
+               }
                
                [Test]
                public void FromFileTimeUtcTest ()
@@ -2435,5 +2470,13 @@ namespace MonoTests.System
 
                        Assert.AreEqual (expectedUtcTics, result.UtcTicks);
                }
+               
+               [Test]
+               public void Foo ()
+               {
+                       var ci = new CultureInfo ("ru-RU");
+                       var dt = new DateTime (2012, 9, 15);
+                       Assert.AreEqual ("сентября 15", dt.ToString ("m", ci));
+               }
        }
 }