Exemple #1
0
 /// <summary>
 /// Compare this object with another for equality.
 /// </summary>
 /// <param name="o">
 /// Another object to compare to for equality.
 /// </param>
 /// <returns>
 /// <b>true</b> iff this object is equal to the other object.
 /// </returns>
 public override bool Equals(object o)
 {
     if (o is RawDateTime)
     {
         RawDateTime that = (RawDateTime)o;
         return(this == that ||
                Date.Equals(that.Date) &&
                Time.Equals(that.Time));
     }
     return(false);
 }
Exemple #2
0
        public void TestEquals()
        {
            DateTime    date        = new DateTime(1976, 4, 19);
            RawTime     timeUtc     = new RawTime(13, 2, 30, 0, true);
            RawTime     time        = new RawTime(13, 2, 30, 99, false);
            RawDateTime datetimeUtc = new RawDateTime(date, timeUtc);
            RawDateTime datetime    = new RawDateTime(date, time);

            Assert.IsTrue(datetime.Equals(datetime));
            Assert.IsFalse(datetime.Equals(datetimeUtc));
            Assert.IsTrue(datetimeUtc.Equals(new RawDateTime(new DateTime(1976, 4, 19), new RawTime(13, 2, 30, 0, true))));
        }
Exemple #3
0
        public void TestToUniversalTime()
        {
            DateTime    date               = new DateTime(1976, 4, 19);
            RawTime     timeUtc            = new RawTime(15, 55, 0, 0, true);
            RawTime     timeNoZone         = new RawTime(15, 55, 0, 0, false);
            RawTime     timeWithOffset     = new RawTime(10, 55, 0, 0, -5, 0);
            RawDateTime datetimeUtc        = new RawDateTime(date, timeUtc);
            RawDateTime datetimeNoZone     = new RawDateTime(date, timeNoZone);
            RawDateTime datetimeWithOffset = new RawDateTime(date, timeWithOffset);

            DateTime dtUtc = datetimeUtc.ToUniversalTime();
            DateTime dt    = new DateTime(
                datetimeUtc.Date.Year,
                datetimeUtc.Date.Month,
                datetimeUtc.Date.Day,
                datetimeUtc.Time.Hour,
                datetimeUtc.Time.Minute,
                datetimeUtc.Time.Second,
                datetimeUtc.Time.Nanosecond / 1000000);

            Assert.AreEqual(dt, dtUtc);

            Assert.AreEqual(DateTimeKind.Utc, dtUtc.Kind);

            dtUtc = datetimeNoZone.ToUniversalTime();
            dt    = new DateTime(
                datetimeNoZone.Date.Year,
                datetimeNoZone.Date.Month,
                datetimeNoZone.Date.Day,
                datetimeNoZone.Time.Hour,
                datetimeNoZone.Time.Minute,
                datetimeNoZone.Time.Second,
                datetimeNoZone.Time.Nanosecond / 1000000);
            Assert.AreEqual(dt, dtUtc);

            Assert.AreEqual(DateTimeKind.Utc, dtUtc.Kind);

            dtUtc = datetimeWithOffset.ToUniversalTime();
            dt    = new DateTime(
                datetimeWithOffset.Date.Year,
                datetimeWithOffset.Date.Month,
                datetimeWithOffset.Date.Day,
                datetimeWithOffset.Time.Hour,
                datetimeWithOffset.Time.Minute,
                datetimeWithOffset.Time.Second,
                datetimeWithOffset.Time.Nanosecond / 1000000);
            dt = dt.Subtract(new TimeSpan(datetimeWithOffset.Time.HourOffset, datetimeWithOffset.Time.MinuteOffset, 0));
            Assert.AreEqual(dt, dtUtc);

            Assert.AreEqual(DateTimeKind.Utc, dtUtc.Kind);
        }
Exemple #4
0
        public void TestToDateTime()
        {
            DateTime    date               = new DateTime(1976, 4, 19);
            RawTime     timeUtc            = new RawTime(15, 55, 0, 0, true);
            RawTime     timeNoZone         = new RawTime(15, 55, 0, 0, false);
            RawTime     timeWithOffset     = new RawTime(10, 55, 0, 0, -5, 0);
            RawDateTime datetimeUtc        = new RawDateTime(date, timeUtc);
            RawDateTime datetimeNoZone     = new RawDateTime(date, timeNoZone);
            RawDateTime datetimeWithOffset = new RawDateTime(date, timeWithOffset);

            DateTime dtUnspecified = datetimeUtc.ToDateTime();
            DateTime dt            = new DateTime(
                datetimeUtc.Date.Year,
                datetimeUtc.Date.Month,
                datetimeUtc.Date.Day,
                datetimeUtc.Time.Hour,
                datetimeUtc.Time.Minute,
                datetimeUtc.Time.Second,
                datetimeUtc.Time.Nanosecond / 1000000);

            Assert.AreEqual(dt, dtUnspecified);

            Assert.AreEqual(DateTimeKind.Unspecified, dtUnspecified.Kind);

            dtUnspecified = datetimeNoZone.ToDateTime();
            dt            = new DateTime(
                datetimeNoZone.Date.Year,
                datetimeNoZone.Date.Month,
                datetimeNoZone.Date.Day,
                datetimeNoZone.Time.Hour,
                datetimeNoZone.Time.Minute,
                datetimeNoZone.Time.Second,
                datetimeNoZone.Time.Nanosecond / 1000000);
            Assert.AreEqual(dt, dtUnspecified);

            Assert.AreEqual(DateTimeKind.Unspecified, dtUnspecified.Kind);

            dtUnspecified = datetimeWithOffset.ToDateTime();
            dt            = new DateTime(
                datetimeWithOffset.Date.Year,
                datetimeWithOffset.Date.Month,
                datetimeWithOffset.Date.Day,
                datetimeWithOffset.Time.Hour,
                datetimeWithOffset.Time.Minute,
                datetimeWithOffset.Time.Second,
                datetimeWithOffset.Time.Nanosecond / 1000000);
            Assert.AreEqual(dt, dtUnspecified);

            Assert.AreEqual(DateTimeKind.Unspecified, dtUnspecified.Kind);
        }
Exemple #5
0
        public void TestToString()
        {
            DateTime    date           = new DateTime(1976, 4, 19);
            RawTime     timeUtc        = new RawTime(13, 2, 30, 0, true);
            RawTime     time           = new RawTime(13, 2, 30, 99, false);
            RawTime     timeOffset     = new RawTime(13, 2, 30, 0, -1, 30);
            RawDateTime datetimeUtc    = new RawDateTime(date, timeUtc);
            RawDateTime datetime       = new RawDateTime(date, time);
            RawDateTime datetimeOffset = new RawDateTime(date, timeOffset);

            Assert.IsTrue(datetime.ToString().StartsWith(PofHelper.FormatDate(1976, 4, 19)));
            Assert.IsTrue(datetimeUtc.ToString().EndsWith("13:02:30Z"));
            Assert.IsTrue(datetime.ToString().EndsWith("13:02:30.000000099"));
            Assert.IsTrue(datetimeOffset.ToString().EndsWith("13:02:30-01:30"));
        }
        public void TestRawDateTime()
        {
            DateTime    date               = new DateTime(1976, 4, 19);
            RawTime     timeUtc            = new RawTime(15, 55, 0, 0, true);
            RawTime     timeNoZone         = new RawTime(15, 55, 0, 0, false);
            RawTime     timeWithOffset     = new RawTime(10, 55, 0, 0, -5, 0);
            RawDateTime datetimeUtc        = new RawDateTime(date, timeUtc);
            RawDateTime datetimeNoZone     = new RawDateTime(date, timeNoZone);
            RawDateTime datetimeWithOffset = new RawDateTime(date, timeWithOffset);

            initPOFWriter();
            pofWriter.WriteDate(0, date);
            pofWriter.WriteRawDateTime(0, datetimeUtc);
            pofWriter.WriteRawDateTime(0, datetimeNoZone);
            pofWriter.WriteRawDateTime(0, datetimeWithOffset);

            initPOFReader();
            Assert.AreEqual(date, pofReader.ReadRawDateTime(0).Date);
            Assert.AreEqual(datetimeUtc, pofReader.ReadRawDateTime(0));
            Assert.AreEqual(datetimeNoZone, pofReader.ReadRawDateTime(0));
            Assert.AreEqual(datetimeWithOffset, pofReader.ReadRawDateTime(0));
        }