From 1fd5300a657c6922ac670579a9dbef877d5bcd7b Mon Sep 17 00:00:00 2001 From: Luke Preiner Date: Thu, 7 Jan 2021 11:57:53 -0600 Subject: [PATCH] Added basic unit tests for DateTimeOffset --- CSharpDate.Test/DateTests.cs | 49 ++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/CSharpDate.Test/DateTests.cs b/CSharpDate.Test/DateTests.cs index 5f3483e..0f55135 100644 --- a/CSharpDate.Test/DateTests.cs +++ b/CSharpDate.Test/DateTests.cs @@ -56,6 +56,15 @@ public void CanConstructFromDateTime() Assert.True(d1.Equals(d2)); } + [Fact] + public void CanConstructFromDateTimeOffset() + { + Date d1 = new Date(new DateTimeOffset(2001, 2, 3, 4, 5, 6, 7, TimeSpan.Zero).AddTicks(8)); + Date d2 = new Date(2001, 2, 3); + Assert.Equal(d1, d2); + Assert.True(d1.Equals(d2)); + } + [Fact] public void ToDateRemovesAllTimePortion() { @@ -76,6 +85,17 @@ public void CanGetDateFromDateTime() Assert.Equal(dt.Day, d.Day); } + [Fact] + public void CanGetDateFromDateTimeOffset() + { + DateTimeOffset dto = new DateTimeOffset(2013, 4, 5, 6, 7, 8, 9, TimeSpan.Zero); + Date d = dto.ToDate(); + + Assert.Equal(dto.Year, d.Year); + Assert.Equal(dto.Month, d.Month); + Assert.Equal(dto.Day, d.Day); + } + [Fact] public void CanAddYears() { @@ -220,6 +240,35 @@ public void CanExplicitCastToDateTime() Assert.Equal(dt.Day, d.Day); } + [Fact] + public void CanImplicitCastToDateTimeOffset() + { + Date d = new Date(2013, 4, 5); + DateTimeOffset dt = d; + + Assert.Equal(d.Year, dt.Year); + Assert.Equal(d.Month, dt.Month); + Assert.Equal(d.Day, dt.Day); + Assert.Equal(d.DayOfWeek, dt.DayOfWeek); + Assert.Equal(d.DayOfYear, dt.DayOfYear); + Assert.Equal(0, dt.Hour); + Assert.Equal(0, dt.Minute); + Assert.Equal(0, dt.Second); + Assert.Equal(0, dt.Millisecond); + } + + [Fact] + public void CanExplicitCastToDateTimeOffset() + { + DateTime dt = new DateTime(2000, 1, 2, 3, 4, 5); + DateTimeOffset dto = new DateTimeOffset(dt, TimeSpan.FromMinutes(1)); + Date d = (Date)dto; + + Assert.Equal(dto.Year, d.Year); + Assert.Equal(dto.Month, d.Month); + Assert.Equal(dto.Day, d.Day); + } + [Fact] public void CanToShortString() {