Files
Ursa.Avalonia/tests/Test.Ursa/DateTimePickerTests/DateTimeHelperTests.cs

74 lines
2.0 KiB
C#

using Ursa.Controls;
namespace Test.Ursa.DateTimePicker;
public class DateTimeHelperTests
{
[Fact]
public void GetFirstDayOfMonth_ReturnsFirstDay()
{
var date = new DateTime(2023, 5, 15);
var firstDay = date.GetFirstDayOfMonth();
Assert.Equal(new DateTime(2023, 5, 1), firstDay);
}
[Fact]
public void GetLastDayOfMonth_ReturnsLastDay()
{
var date = new DateTime(2023, 5, 15);
var lastDay = date.GetLastDayOfMonth();
Assert.Equal(new DateTime(2023, 5, 31), lastDay);
}
[Fact]
public void CompareYearMonth_SameYearMonth_ReturnsZero()
{
var date1 = new DateTime(2023, 5, 15);
var date2 = new DateTime(2023, 5, 20);
var result = DateTimeHelper.CompareYearMonth(date1, date2);
Assert.Equal(0, result);
}
[Fact]
public void CompareYearMonth_DifferentYearMonth_ReturnsDifference()
{
var date1 = new DateTime(2023, 5, 15);
var date2 = new DateTime(2024, 6, 20);
var result = DateTimeHelper.CompareYearMonth(date1, date2);
Assert.Equal(-13, result);
}
[Fact]
public void Min_ReturnsMinimumDate()
{
var date1 = new DateTime(2023, 5, 15);
var date2 = new DateTime(2024, 6, 20);
var result = DateTimeHelper.Min(date1, date2);
Assert.Equal(date1, result);
}
[Fact]
public void Max_ReturnsMaximumDate()
{
var date1 = new DateTime(2023, 5, 15);
var date2 = new DateTime(2024, 6, 20);
var result = DateTimeHelper.Max(date1, date2);
Assert.Equal(date2, result);
}
[Fact]
public void GetDecadeViewRangeByYear_ReturnsCorrectRange()
{
var year = 2023;
var result = DateTimeHelper.GetDecadeViewRangeByYear(year);
Assert.Equal((2020, 2029), result);
}
[Fact]
public void GetCenturyViewRangeByYear_ReturnsCorrectRange()
{
var year = 2023;
var result = DateTimeHelper.GetCenturyViewRangeByYear(year);
Assert.Equal((2000, 2100), result);
}
}