mirror of
https://github.com/oliverbooth/X10D
synced 2024-10-19 06:16:10 +00:00
86 lines
2.7 KiB
C#
86 lines
2.7 KiB
C#
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|||
|
using X10D.Time;
|
|||
|
|
|||
|
namespace X10D.Tests.Time;
|
|||
|
|
|||
|
[TestClass]
|
|||
|
public class DateTimeTests
|
|||
|
{
|
|||
|
[TestMethod]
|
|||
|
public void AgeShouldBeCorrect()
|
|||
|
{
|
|||
|
var birthday = new DateTime(2000, 1, 1);
|
|||
|
DateTime today = DateTime.Now.Date;
|
|||
|
|
|||
|
Assert.AreEqual(today.Year - birthday.Year, birthday.Age());
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void FirstShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 1), date.First(DayOfWeek.Saturday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 2), date.First(DayOfWeek.Sunday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 3), date.First(DayOfWeek.Monday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 4), date.First(DayOfWeek.Tuesday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 5), date.First(DayOfWeek.Wednesday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 6), date.First(DayOfWeek.Thursday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 7), date.First(DayOfWeek.Friday));
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void FirstDayOfMonthShouldBeCorrect()
|
|||
|
{
|
|||
|
DateTime today = DateTime.Now.Date;
|
|||
|
|
|||
|
Assert.AreEqual(new DateTime(today.Year, today.Month, 1), today.FirstDayOfMonth());
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void LastShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 29), date.Last(DayOfWeek.Saturday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 30), date.Last(DayOfWeek.Sunday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 31), date.Last(DayOfWeek.Monday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 25), date.Last(DayOfWeek.Tuesday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 26), date.Last(DayOfWeek.Wednesday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 27), date.Last(DayOfWeek.Thursday));
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 28), date.Last(DayOfWeek.Friday));
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void LastDayOfMonthShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(new DateTime(date.Year, date.Month, 31), date.LastDayOfMonth());
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void NextShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(new DateTime(2000, 1, 8), date.Next(DayOfWeek.Saturday));
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void ToUnixTimeMillisecondsShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(946684800000, date.ToUnixTimeMilliseconds());
|
|||
|
}
|
|||
|
|
|||
|
[TestMethod]
|
|||
|
public void ToUnixTimeSecondsShouldBeCorrect()
|
|||
|
{
|
|||
|
var date = new DateTime(2000, 1, 1);
|
|||
|
|
|||
|
Assert.AreEqual(946684800, date.ToUnixTimeSeconds());
|
|||
|
}
|
|||
|
}
|