Skip to content

Commit d006556

Browse files
committed
Add unit tests for conversion from DateTime[Offset] to Timestamp.
1 parent ead1f72 commit d006556

2 files changed

Lines changed: 404 additions & 0 deletions

File tree

test/MsgPack.UnitTest/TimestampTest.Conversion.cs

Lines changed: 375 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ private static void AssertSubseconds( Timestamp target, DateTime expected )
285285
Assert.That( target.Microsecond, Is.EqualTo( ticks / 10 ), "Microsecond" );
286286
Assert.That( target.Nanosecond, Is.EqualTo( ( ticks % 10 ) * 100 ), "Nanosecond" );
287287
}
288+
288289
[Test]
289290
public void TestFromDateTimeOffset_UtcNow_OK()
290291
{
@@ -536,5 +537,379 @@ private static void AssertSubseconds( Timestamp target, DateTimeOffset expected
536537
Assert.That( target.Microsecond, Is.EqualTo( ticks / 10 ), "Microsecond" );
537538
Assert.That( target.Nanosecond, Is.EqualTo( ( ticks % 10 ) * 100 ), "Nanosecond" );
538539
}
540+
541+
#if !NET35 && !SILVERLIGHT && !NETSTANDARD1_1
542+
543+
[Test]
544+
public void TestFromDateTime_UnixEpoc_OK()
545+
{
546+
var source = DateTimeOffset.FromUnixTimeMilliseconds( 0 ).DateTime;
547+
var target = Timestamp.FromDateTime( source );
548+
var expected = source;
549+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
550+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
551+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
552+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
553+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
554+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
555+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
556+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
557+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
558+
AssertSubseconds( target, expected );
559+
}
560+
561+
[Test]
562+
public void TestFromDateTime_UnixEpocMinus1Millisecond_OK()
563+
{
564+
var source = DateTimeOffset.FromUnixTimeMilliseconds( -1 ).DateTime;
565+
var target = Timestamp.FromDateTime( source );
566+
var expected = source;
567+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
568+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
569+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
570+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
571+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
572+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
573+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
574+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
575+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
576+
AssertSubseconds( target, expected );
577+
}
578+
579+
[Test]
580+
public void TestFromDateTime_UnixEpocPlus1Millisecond_OK()
581+
{
582+
var source = DateTimeOffset.FromUnixTimeMilliseconds( 1 ).DateTime;
583+
var target = Timestamp.FromDateTime( source );
584+
var expected = source;
585+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
586+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
587+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
588+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
589+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
590+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
591+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
592+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
593+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
594+
AssertSubseconds( target, expected );
595+
}
596+
597+
[Test]
598+
public void TestFromDateTime_UnixEpocMinusSecond_OK()
599+
{
600+
var source = DateTimeOffset.FromUnixTimeSeconds( -1 ).DateTime;
601+
var target = Timestamp.FromDateTime( source );
602+
var expected = source;
603+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
604+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
605+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
606+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
607+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
608+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
609+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
610+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
611+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
612+
AssertSubseconds( target, expected );
613+
}
614+
615+
[Test]
616+
public void TestFromDateTime_UnixEpocPlus1Second_OK()
617+
{
618+
var source = DateTimeOffset.FromUnixTimeSeconds( 1 ).DateTime;
619+
var target = Timestamp.FromDateTime( source );
620+
var expected = source;
621+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
622+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
623+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
624+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
625+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
626+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
627+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
628+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
629+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
630+
AssertSubseconds( target, expected );
631+
}
632+
633+
[Test]
634+
public void TestToDateTime_UnixEpoc_OK()
635+
{
636+
var source = default( Timestamp );
637+
var target = source.ToDateTime();
638+
var expected = source;
639+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
640+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
641+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
642+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
643+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
644+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
645+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
646+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
647+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
648+
AssertSubseconds( target, expected );
649+
AssertUtc( target );
650+
}
651+
652+
[Test]
653+
public void TestToDateTime_UnixEpocMinus1Millisecond_OK()
654+
{
655+
var source = default( Timestamp ).Add( TimeSpan.FromMilliseconds( -1 ) );
656+
var target = source.ToDateTime();
657+
var expected = source;
658+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
659+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
660+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
661+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
662+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
663+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
664+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
665+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
666+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
667+
AssertSubseconds( target, expected );
668+
AssertUtc( target );
669+
}
670+
671+
[Test]
672+
public void TestToDateTime_UnixEpocPlus1Millisecond_OK()
673+
{
674+
var source = default( Timestamp ).Add( TimeSpan.FromMilliseconds( 1 ) );
675+
var target = source.ToDateTime();
676+
var expected = source;
677+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
678+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
679+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
680+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
681+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
682+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
683+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
684+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
685+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
686+
AssertSubseconds( target, expected );
687+
AssertUtc( target );
688+
}
689+
690+
[Test]
691+
public void TestToDateTime_UnixEpocMinus1Second_OK()
692+
{
693+
var source = default( Timestamp ).Add( TimeSpan.FromSeconds( -1 ) );
694+
var target = source.ToDateTime();
695+
var expected = source;
696+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
697+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
698+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
699+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
700+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
701+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
702+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
703+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
704+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
705+
AssertSubseconds( target, expected );
706+
AssertUtc( target );
707+
}
708+
709+
[Test]
710+
public void TestToDateTime_UnixEpocPlus1Second_OK()
711+
{
712+
var source = default( Timestamp ).Add( TimeSpan.FromSeconds( 1 ) );
713+
var target = source.ToDateTime();
714+
var expected = source;
715+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
716+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
717+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
718+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
719+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
720+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
721+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
722+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
723+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
724+
AssertSubseconds( target, expected );
725+
AssertUtc( target );
726+
}
727+
728+
[Test]
729+
public void TestFromDateTimeOffset_UnixEpoc_OK()
730+
{
731+
var source = DateTimeOffset.FromUnixTimeMilliseconds( 0 );
732+
var target = Timestamp.FromDateTimeOffset( source );
733+
var expected = source;
734+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
735+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
736+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
737+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
738+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
739+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
740+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
741+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
742+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
743+
AssertSubseconds( target, expected );
744+
}
745+
746+
[Test]
747+
public void TestFromDateTimeOffset_UnixEpocMinus1Millisecond_OK()
748+
{
749+
var source = DateTimeOffset.FromUnixTimeMilliseconds( -1 );
750+
var target = Timestamp.FromDateTimeOffset( source );
751+
var expected = source;
752+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
753+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
754+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
755+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
756+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
757+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
758+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
759+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
760+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
761+
AssertSubseconds( target, expected );
762+
}
763+
764+
[Test]
765+
public void TestFromDateTimeOffset_UnixEpocPlus1Millisecond_OK()
766+
{
767+
var source = DateTimeOffset.FromUnixTimeMilliseconds( 1 );
768+
var target = Timestamp.FromDateTimeOffset( source );
769+
var expected = source;
770+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
771+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
772+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
773+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
774+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
775+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
776+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
777+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
778+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
779+
AssertSubseconds( target, expected );
780+
}
781+
782+
[Test]
783+
public void TestFromDateTimeOffset_UnixEpocMinus1Second_OK()
784+
{
785+
var source = DateTimeOffset.FromUnixTimeSeconds( -1 );
786+
var target = Timestamp.FromDateTimeOffset( source );
787+
var expected = source;
788+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
789+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
790+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
791+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
792+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
793+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
794+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
795+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
796+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
797+
AssertSubseconds( target, expected );
798+
}
799+
800+
[Test]
801+
public void TestFromDateTimeOffset_UnixEpocPlus1Second_OK()
802+
{
803+
var source = DateTimeOffset.FromUnixTimeSeconds( 1 );
804+
var target = Timestamp.FromDateTimeOffset( source );
805+
var expected = source;
806+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
807+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
808+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
809+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
810+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
811+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
812+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
813+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
814+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
815+
AssertSubseconds( target, expected );
816+
}
817+
818+
[Test]
819+
public void TestToDateTimeOffset_UnixEpoc_OK()
820+
{
821+
var source = default( Timestamp );
822+
var target = source.ToDateTimeOffset();
823+
var expected = source;
824+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
825+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
826+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
827+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
828+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
829+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
830+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
831+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
832+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
833+
AssertSubseconds( target, expected );
834+
AssertUtc( target );
835+
}
836+
837+
[Test]
838+
public void TestToDateTimeOffset_UnixEpocMinus1Millisecond_OK()
839+
{
840+
var source = default( Timestamp ).Add( TimeSpan.FromMilliseconds( -1 ) );
841+
var target = source.ToDateTimeOffset();
842+
var expected = source;
843+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
844+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
845+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
846+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
847+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
848+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
849+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
850+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
851+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
852+
AssertSubseconds( target, expected );
853+
AssertUtc( target );
854+
}
855+
856+
[Test]
857+
public void TestToDateTimeOffset_UnixEpocPlus1Millisecond_OK()
858+
{
859+
var source = default( Timestamp ).Add( TimeSpan.FromMilliseconds( 1 ) );
860+
var target = source.ToDateTimeOffset();
861+
var expected = source;
862+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
863+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
864+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
865+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
866+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
867+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
868+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
869+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
870+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
871+
AssertSubseconds( target, expected );
872+
AssertUtc( target );
873+
}
874+
875+
[Test]
876+
public void TestToDateTimeOffset_UnixEpocMinus1Second_OK()
877+
{
878+
var source = default( Timestamp ).Add( TimeSpan.FromSeconds( -1 ) );
879+
var target = source.ToDateTimeOffset();
880+
var expected = source;
881+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
882+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
883+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
884+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
885+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
886+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
887+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
888+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
889+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
890+
AssertSubseconds( target, expected );
891+
AssertUtc( target );
892+
}
893+
894+
[Test]
895+
public void TestToDateTimeOffset_UnixEpocPlus1Second_OK()
896+
{
897+
var source = default( Timestamp ).Add( TimeSpan.FromSeconds( 1 ) );
898+
var target = source.ToDateTimeOffset();
899+
var expected = source;
900+
Assert.That( target.Year, Is.EqualTo( expected.Year ), "Year" );
901+
Assert.That( target.Month, Is.EqualTo( expected.Month ), "Month" );
902+
Assert.That( target.Day, Is.EqualTo( expected.Day ), "Day" );
903+
Assert.That( target.DayOfYear, Is.EqualTo( expected.DayOfYear ), "DayOfYear" );
904+
Assert.That( target.DayOfWeek, Is.EqualTo( expected.DayOfWeek ), "DayOfWeek" );
905+
Assert.That( target.Hour, Is.EqualTo( expected.Hour ), "Hour" );
906+
Assert.That( target.Minute, Is.EqualTo( expected.Minute ), "Minute" );
907+
Assert.That( target.Second, Is.EqualTo( expected.Second ), "Second" );
908+
Assert.That( target.Millisecond, Is.EqualTo( expected.Millisecond ), "Millisecond" );
909+
AssertSubseconds( target, expected );
910+
AssertUtc( target );
911+
}
912+
913+
#endif // NET35 && !SILVERLIGHT && !NETSTANDARD1_1
539914
}
540915
}

0 commit comments

Comments
 (0)