public void TestFromDateTimeOffset_Now_AsUtc()
        {
            var source   = DateTimeOffset.Now;
            var target   = Timestamp.FromDateTimeOffset(source);
            var expected = source.ToUniversalTime();

            Assert.That(target.Year, Is.EqualTo(expected.Year), "Year");
            Assert.That(target.Month, Is.EqualTo(expected.Month), "Month");
            Assert.That(target.Day, Is.EqualTo(expected.Day), "Day");
            Assert.That(target.DayOfYear, Is.EqualTo(expected.DayOfYear), "DayOfYear");
            Assert.That(target.DayOfWeek, Is.EqualTo(expected.DayOfWeek), "DayOfWeek");
            Assert.That(target.Hour, Is.EqualTo(expected.Hour), "Hour");
            Assert.That(target.Minute, Is.EqualTo(expected.Minute), "Minute");
            Assert.That(target.Second, Is.EqualTo(expected.Second), "Second");
            Assert.That(target.Millisecond, Is.EqualTo(expected.Millisecond), "Millisecond");
            AssertSubseconds(target, expected);
        }
        public void TestFromDateTimeOffset_UnixEpocPlus1Second_OK()
        {
            var source   = DateTimeOffset.FromUnixTimeSeconds(1);
            var target   = Timestamp.FromDateTimeOffset(source);
            var expected = source;

            Assert.That(target.Year, Is.EqualTo(expected.Year), "Year");
            Assert.That(target.Month, Is.EqualTo(expected.Month), "Month");
            Assert.That(target.Day, Is.EqualTo(expected.Day), "Day");
            Assert.That(target.DayOfYear, Is.EqualTo(expected.DayOfYear), "DayOfYear");
            Assert.That(target.DayOfWeek, Is.EqualTo(expected.DayOfWeek), "DayOfWeek");
            Assert.That(target.Hour, Is.EqualTo(expected.Hour), "Hour");
            Assert.That(target.Minute, Is.EqualTo(expected.Minute), "Minute");
            Assert.That(target.Second, Is.EqualTo(expected.Second), "Second");
            Assert.That(target.Millisecond, Is.EqualTo(expected.Millisecond), "Millisecond");
            AssertSubseconds(target, expected);
        }