Files
SabreTools.IO/SabreTools.IO.Extensions.Test/DateTimeExtensionsTests.cs
Matt Nadareski d614379cf5 Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.IO.Meta` builds the normal Nuget package that is used by all other projects and includes all namespaces. `SabreTools.IO` builds to `SabreTools.IO.Common` to avoid overwriting issues on publish.
2026-03-21 13:55:42 -04:00

66 lines
1.9 KiB
C#

using System;
using SabreTools.Core.Tools;
using Xunit;
namespace SabreTools.Core.Test.Tools
{
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
}
}