using System; using NUnit.Framework; using Developpez.Dotnet; namespace Developpez.Dotnet.Tests { [TestFixture] public class DateExtensionsTests { private DateTime y2k = new DateTime(2000, 1, 1); private long y2kAsUnix = 946684800; [Test] public void Check_that_20_minutes_from_is_correct() { Assert.AreEqual(20.Minutes().From(y2k), y2k.AddMinutes(20)); } [Test] public void Check_that_20_minutes_fromnow_is_correct() { Assert.AreEqual(20.Minutes().FromNow(), DateTime.Now.AddMinutes(20)); } [Test] public void Check_that_20_minutes_before_is_correct() { Assert.AreEqual(20.Minutes().Before(y2k), y2k.AddMinutes(-20)); } [Test] public void Check_that_20_minutes_ago_is_correct() { Assert.AreEqual(20.Minutes().Ago(), DateTime.Now.AddMinutes(-20)); } [Test] public void Check_that_20_hours_is_correct() { Assert.AreEqual(20.Hours(), TimeSpan.FromHours(20)); } [Test] public void Check_that_20_seconds_is_correct() { Assert.AreEqual(20.Seconds(), TimeSpan.FromSeconds(20)); } [Test] public void Check_that_20_days_is_correct() { Assert.AreEqual(20.Days(), TimeSpan.FromDays(20)); } [Test] public void Check_that_ToUnixTimestamp_Returns_y2kasUnix_timestamp_when_given_y2k() { Assert.AreEqual(y2k.ToUnixTimestamp(), y2kAsUnix); } [Test] public void Check_that_ToDateTime_Returns_y2k_timestamp_when_given_y2kAsUnix() { Assert.AreEqual(y2kAsUnix.ToDateTime(), y2k); } [Test] public void Check_next_previous_DayOfWeek() { DateTime date = new DateTime(1981, 9, 10); DateTime nextSaturday = date.Next(DayOfWeek.Saturday); Assert.AreEqual(new DateTime(1981, 9, 12), nextSaturday); DateTime lastMonday = date.Previous(DayOfWeek.Monday); Assert.AreEqual(new DateTime(1981, 9, 7), lastMonday); } } }