Exemplo n.º 1
0
        public void DefaultConstructorWorks_SPI_1606()
        {
            var dt = new DateTime();

            // #1606
            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 0, 1, 1, 1);
        }
Exemplo n.º 2
0
        public static void DateTimeWorks()
        {
            var minDate = DateTime.MinValue;
            var json    = JsonConvert.DeserializeObject <DateTime>("\"0001-01-01T00:00:00.000Z\"");

            DateHelper.AssertDate(minDate, DateTimeKind.Unspecified, json.Ticks, json.Year, json.Month, json.Day, json.Hour, json.Minute, json.Second, json.Millisecond, "MinValue: ");

            var d1 = new DateTime(2010, 6, 10, 12, 1, 2, 3, DateTimeKind.Utc);

            json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:01:02.003Z\"");
            DateHelper.AssertDate(d1, json, "d1: ");

            var d2 = new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Unspecified);

            json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:00:00\"");
            DateHelper.AssertDate(d2, json, "d2: ");

            var d3 = new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Utc);

            json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:00:00Z\"");
            DateHelper.AssertDate(d3, json, "d3: ");

            // DST problem
            //var s = "\"2010-06-10T12:00:00" + DateHelper.GetOffsetString() + "\"";
            //// This a .Net passing d4
            ////var d4 = (new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Utc)).AddMinutes(-DateHelper.GetOffsetMinutes()).ToLocalTime();
            //var d4 = (new DateTime(2010, 6, 10, 12, 0, 0, 0, s.Contains("Z") ? DateTimeKind.Utc :  DateTimeKind.Local));

            //Assert.True(true, "d4 input: " + s);
            //Assert.True(true, "d4 expected: " + d4.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'FFFFFFFK"));

            //json = JsonConvert.DeserializeObject<DateTime>(s);
            //DateHelper.AssertDate(d4, json, "d4: ");
        }
Exemplo n.º 3
0
        public void DefaultValueWorks_SPI_1606()
        {
            var dt = default(DateTime);

            // #1606
            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 0, 1, 1, 1);
        }
Exemplo n.º 4
0
        public void AddMonthsEdgeCasesWorks()
        {
            var dt = new DateTime(2017, 3, 31, 16, 10, 10);

            DateHelper.AssertDate(new DateTime(2017, 3, 31, 16, 10, 10), dt);

            var actual = dt.AddMonths(1);

            DateHelper.AssertDate(new DateTime(2017, 4, 30, 16, 10, 10), actual);
            actual = dt.AddMonths(2);
            DateHelper.AssertDate(new DateTime(2017, 5, 31, 16, 10, 10), actual);
            actual = dt.AddMonths(3);
            DateHelper.AssertDate(new DateTime(2017, 6, 30, 16, 10, 10), actual);
            actual = dt.AddMonths(12);
            DateHelper.AssertDate(new DateTime(2018, 3, 31, 16, 10, 10), actual);

            dt = new DateTime(2020, 2, 29, 16, 10, 10);
            DateHelper.AssertDate(new DateTime(2020, 2, 29, 16, 10, 10), dt);

            actual = dt.AddMonths(1);
            DateHelper.AssertDate(new DateTime(2020, 3, 29, 16, 10, 10), actual);
            actual = dt.AddMonths(2);
            DateHelper.AssertDate(new DateTime(2020, 4, 29, 16, 10, 10), actual);
            actual = dt.AddMonths(12);
            DateHelper.AssertDate(new DateTime(2021, 2, 28, 16, 10, 10), actual);
        }
Exemplo n.º 5
0
        public static void DateTimeSerializationDeserializationTurnaroundWorks()
        {
            var d2    = new DateTime(1700, 2, 28, 12, 3, 4, 5, DateTimeKind.Local);
            var s2    = d2.ToString();
            var s2Utc = "\"" + d2.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'FFFFFFFK") + "\"";

            var serialized2 = JsonConvert.SerializeObject(d2);

            Assert.AreEqual(s2Utc, serialized2, "d2 serialized string");

            var json = JsonConvert.DeserializeObject <DateTime>(serialized2);

            DateHelper.AssertDate(json, DateTimeKind.Local, d2.Ticks, d2.Year, d2.Month, d2.Day, d2.Hour, d2.Minute, d2.Second, d2.Millisecond, "d2 deserialized date: ");

            Assert.AreEqual(s2, json.ToString(), "d2 deserialized string: ");

            var d3    = new DateTime(2017, 1, 8, 13, 3, 4, 5, DateTimeKind.Unspecified);
            var s3    = d3.ToString();
            var s3Utc = "\"" + d3.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'FFFFFFFK") + "\"";

            var serialized3 = JsonConvert.SerializeObject(d3);

            Assert.AreEqual(s3Utc, serialized3, "d3 serialized string");

            json = JsonConvert.DeserializeObject <DateTime>(serialized3);
            DateHelper.AssertDate(json, DateTimeKind.Unspecified, d3.Ticks, d3.Year, d3.Month, d3.Day, d3.Hour, d3.Minute, d3.Second, d3.Millisecond, "d3 deserialized date: ");

            Assert.AreEqual(s3, json.ToString(), "d3 deserialized string: ");
        }
Exemplo n.º 6
0
        public void CreatingInstanceReturnsDateWithZeroValue_SPI_1606()
        {
            var dt = Activator.CreateInstance <DateTime>();

            // #1606
            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 0, 1, 1, 1);
        }
Exemplo n.º 7
0
        public void LongConstructorUtcWorks()
        {
            var dt = new DateTime(1440L * 60 * 500 * 1000, DateTimeKind.Local);

            Assert.AreEqual(1, dt.Year);

            var dt1 = new DateTime(0, DateTimeKind.Local);

            DateHelper.AssertDate(dt1, DateTimeKind.Local, 0, 1, 1, 1);

            var dt2 = new DateTime(1000000000000000000, DateTimeKind.Local);

            DateHelper.AssertDate(dt2, DateTimeKind.Local, 1000000000000000000, 3169, 11, 16);

            var dt3 = new DateTime(1440L * 60 * 500 * 1000, DateTimeKind.Utc);

            Assert.AreEqual(1, dt3.Year);

            var dt4 = new DateTime(0, DateTimeKind.Utc);

            DateHelper.AssertDate(dt4, DateTimeKind.Utc, 0, 1, 1, 1);

            var dt5 = new DateTime(1000000000000000000, DateTimeKind.Utc);

            DateHelper.AssertDate(dt5, DateTimeKind.Utc, 1000000000000000000, 3169, 11, 16);
        }
Exemplo n.º 8
0
        public void AddYearsWorks()
        {
            var dt     = new DateTime(2011, 7, 12, 2, 42, 56, 345);
            var actual = dt.AddYears(3);

            DateHelper.AssertDate(new DateTime(2014, 7, 12, 2, 42, 56, 345), actual);
            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 42, 56, 345), dt);
        }
Exemplo n.º 9
0
        public void AddSecondsWorks()
        {
            var dt     = new DateTime(2011, 7, 12, 2, 42, 56, 345);
            var actual = dt.AddSeconds(2.5);

            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 42, 58, 845), actual);
            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 42, 56, 345), dt);
        }
Exemplo n.º 10
0
        public void AddMonthsWorks()
        {
            var dt     = new DateTime(2011, 7, 12, 2, 42, 56, 345);
            var actual = dt.AddMonths(6);

            DateHelper.AssertDate(new DateTime(2012, 1, 12, 2, 42, 56, 345), actual);
            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 42, 56, 345), dt);
        }
Exemplo n.º 11
0
        public void AddMinutesWorks()
        {
            var dt     = new DateTime(2011, 7, 12, 2, 42, 56, 345);
            var actual = dt.AddMinutes(2.5);

            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 45, 26, 345), actual);
            DateHelper.AssertDate(new DateTime(2011, 7, 12, 2, 42, 56, 345), dt);
        }
Exemplo n.º 12
0
        public void ToLocalWorksDoesNotDoubleCompute()
        {
            var d  = new DateTime(2011, 7, 12, 13, 42, 56, 345);
            var d1 = d.ToLocalTime();
            var d2 = d1.ToLocalTime();

            DateHelper.AssertDate(d2, d1);
        }
Exemplo n.º 13
0
        public void YMDHNSUConstructorUtcWorks()
        {
            var dt = new DateTime(2011, 7, 12, 13, 42, 56, 345, DateTimeKind.Local);

            DateHelper.AssertDate(dt, DateTimeKind.Local, 634460749763450000, 2011, 7, 12, 13, 42, 56, 345);

            var dt1 = new DateTime(2011, 7, 12, 13, 42, 56, 345, DateTimeKind.Utc);

            DateHelper.AssertDate(dt1, DateTimeKind.Utc, 634460749763450000, 2011, 7, 12, 13, 42, 56, 345);
        }
Exemplo n.º 14
0
        public void YMDHConstructorUtcWorks()
        {
            var dt = new DateTime(2011, 7, 12, 13, 0, 0, DateTimeKind.Local);

            DateHelper.AssertDate(dt, DateTimeKind.Local, 634460724000000000, 2011, 7, 12, 13);

            var dt1 = new DateTime(2011, 7, 12, 13, 0, 0, DateTimeKind.Utc);

            DateHelper.AssertDate(dt1, DateTimeKind.Utc, 634460724000000000, 2011, 7, 12, 13);
        }
Exemplo n.º 15
0
        public void AddYearsWorks_N2963()
        {
            var d = new DateTime(2017, 1, 2);

            bool b  = false;
            var  d1 = d.AddYears(b ? -1 : 1);

            DateHelper.AssertDate(new DateTime(2018, 1, 2), d1);

            b = true;
            var d2 = d.AddYears(b ? -1 : 1);

            DateHelper.AssertDate(new DateTime(2016, 1, 2), d2);
        }
Exemplo n.º 16
0
        public void LongConstructorWorks()
        {
            var dt = new DateTime(1440L * 60 * 500 * 1000);

            Assert.AreEqual(1, dt.Year);

            var dt1 = new DateTime(0);

            DateHelper.AssertDate(dt1, DateTimeKind.Unspecified, 0, 1, 1, 1);

            var dt2 = new DateTime(1000000000000000000);

            DateHelper.AssertDate(dt2, DateTimeKind.Unspecified, 1000000000000000000, 3169, 11, 16);
        }
        public static void DateTimeWorks()
        {
            // Ignore the test due to #3633
            if (Bridge.Browser.IsChrome && Bridge.Browser.ChromeVersion >= 67)
            {
                Assert.True(true, "Test ignored in google chrome 67+ due to #3633 (https://github.com/bridgedotnet/Bridge/issues/3633).");
            }
            else
            {
                var minDate = DateTime.MinValue;
                var json    = JsonConvert.DeserializeObject <DateTime>("\"0001-01-01T00:00:00.000Z\"");
                DateHelper.AssertDate(minDate, DateTimeKind.Unspecified, json.Ticks, json.Year, json.Month, json.Day, json.Hour, json.Minute, json.Second, json.Millisecond, "MinValue: ");

                var d1 = new DateTime(2010, 6, 10, 12, 1, 2, 3, DateTimeKind.Utc);
                json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:01:02.003Z\"");
                DateHelper.AssertDate(d1, json, "d1: ");

                var d2 = new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Unspecified);
                json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:00:00\"");
                DateHelper.AssertDate(d2, json, "d2: ");

                var d3 = new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Utc);
                json = JsonConvert.DeserializeObject <DateTime>("\"2010-06-10T12:00:00Z\"");
                DateHelper.AssertDate(d3, json, "d3: ");

                // DST problem
                //var s = "\"2010-06-10T12:00:00" + DateHelper.GetOffsetString() + "\"";
                //// This a .Net passing d4
                ////var d4 = (new DateTime(2010, 6, 10, 12, 0, 0, 0, DateTimeKind.Utc)).AddMinutes(-DateHelper.GetOffsetMinutes()).ToLocalTime();
                //var d4 = (new DateTime(2010, 6, 10, 12, 0, 0, 0, s.Contains("Z") ? DateTimeKind.Utc :  DateTimeKind.Local));

                //Assert.True(true, "d4 input: " + s);
                //Assert.True(true, "d4 expected: " + d4.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'FFFFFFFK"));

                //json = JsonConvert.DeserializeObject<DateTime>(s);
                //DateHelper.AssertDate(d4, json, "d4: ");
            }
        }
Exemplo n.º 18
0
 private void DateTimeAssert(DateTime expected, DateTime actual, string message)
 {
     DateHelper.AssertDate(expected, actual, message);
 }
Exemplo n.º 19
0
        public void YMDHNSUConstructorWorks()
        {
            var dt = new DateTime(2011, 7, 12, 13, 42, 56, 345);

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634460749763450000, 2011, 7, 12, 13, 42, 56, 345);
        }
Exemplo n.º 20
0
        public void ParseExactWithCultureWorks()
        {
            var dt = DateTime.ParseExact("2012-12-08", "yyyy-dd-MM", CultureInfo.InvariantCulture);

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634803264000000000, 2012, 8, 12);
        }
Exemplo n.º 21
0
        public void YMDConstructorWorks()
        {
            var dt = new DateTime(2011, 7, 12);

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634460256000000000, 2011, 7, 12);
        }
Exemplo n.º 22
0
        public void ParseExactWorks()
        {
            var dt = DateTime.ParseExact("2012-12-08", "yyyy-dd-MM", null);

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634803264000000000, 2012, 8, 12);
        }
Exemplo n.º 23
0
        public void ParseWorks()
        {
            var dt = DateTime.Parse("Aug 12, 2012");

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634803264000000000, 2012, 8, 12);
        }
Exemplo n.º 24
0
        public void YMDHConstructorWorks()
        {
            var dt = new DateTime(2011, 7, 12, 13, 0, 0);

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 634460724000000000, 2011, 7, 12, 13);
        }
Exemplo n.º 25
0
        public void MinWorks()
        {
            var dt = DateTime.MinValue;

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 0, 1, 1, 1);
        }
Exemplo n.º 26
0
        public void MaxWorks()
        {
            var dt = DateTime.MaxValue;

            DateHelper.AssertDate(dt, DateTimeKind.Unspecified, 3155378975999999999, 9999, 12, 31);
        }