Files
SabreTools.IO/SabreTools.IO.Extensions.Test/DateTimeExtensionsTests.cs
2026-04-20 11:09:29 -04:00

65 lines
1.9 KiB
C#

using System;
using Xunit;
namespace SabreTools.IO.Extensions.Test
{
public class DateTimeExtensionsTests
{
#region ConvertToMsDosTimeFormat
[Fact]
public void ConvertToMsDosTimeFormat_MinSupported()
{
long expected = 2162688;
DateTime dateTime = new DateTime(1980, 01, 01, 00, 00, 00, 00);
long actual = dateTime.ConvertToMsDosTimeFormat();
Assert.Equal(expected, actual);
}
[Fact]
public void ConvertToMsDosTimeFormat_Y2K()
{
long expected = 673251328;
DateTime dateTime = new DateTime(2000, 01, 01, 00, 00, 00, 00);
long actual = dateTime.ConvertToMsDosTimeFormat();
Assert.Equal(expected, actual);
}
#endregion
#region ConvertFromMsDosTimeFormat
[Fact]
public void ConvertFromMsDosTimeFormat_MinSupported()
{
uint msDosDateTime = 2162688;
DateTime actual = msDosDateTime.ConvertFromMsDosTimeFormat();
Assert.Equal(1980, actual.Year);
Assert.Equal(01, actual.Month);
Assert.Equal(01, actual.Day);
Assert.Equal(00, actual.Hour);
Assert.Equal(00, actual.Minute);
Assert.Equal(00, actual.Second);
Assert.Equal(000, actual.Millisecond);
}
[Fact]
public void ConvertFromMsDosTimeFormat_Y2K()
{
uint msDosDateTime = 673251328;
DateTime actual = msDosDateTime.ConvertFromMsDosTimeFormat();
Assert.Equal(2000, actual.Year);
Assert.Equal(01, actual.Month);
Assert.Equal(01, actual.Day);
Assert.Equal(00, actual.Hour);
Assert.Equal(00, actual.Minute);
Assert.Equal(00, actual.Second);
Assert.Equal(000, actual.Millisecond);
}
#endregion
}
}