DateTimeTests.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. namespace DesktopClock.Tests;
  3. public class DateTimeTests
  4. {
  5. [Theory]
  6. [InlineData("2024-07-15T00:00:00Z", "00:00:00")]
  7. [InlineData("2024-07-15T00:00:00Z", "01:00:00")]
  8. [InlineData("0001-01-01T00:00:00Z", "00:00:00")]
  9. public void ToDateTimeOffset_ShouldConvertDateTimeToExpectedOffset(string dateTimeString, string offsetString)
  10. {
  11. // Arrange
  12. var dateTime = DateTime.Parse(dateTimeString);
  13. var offset = TimeSpan.Parse(offsetString);
  14. // Act
  15. var dateTimeOffset = dateTime.ToDateTimeOffset(offset);
  16. // Assert
  17. Assert.Equal(new DateTimeOffset(dateTime.Ticks, offset), dateTimeOffset);
  18. }
  19. [Theory]
  20. [InlineData("dddd, MMMM dd", "Monday, January 01")]
  21. [InlineData("yyyy-MM-dd", "2024-01-01")]
  22. [InlineData("HH:mm:ss", "00:00:00")]
  23. [InlineData("MMMM dd, yyyy", "January 01, 2024")]
  24. public void FromFormat_CreatesCorrectExample(string format, string expected)
  25. {
  26. // Arrange
  27. var dateTimeOffset = new DateTime(2024, 01, 01);
  28. // Act
  29. var dateFormatExample = DateFormatExample.FromFormat(format, dateTimeOffset);
  30. // Assert
  31. Assert.Equal(format, dateFormatExample.Format);
  32. Assert.Equal(expected, dateFormatExample.Example);
  33. }
  34. }