Skip to content

Commit

Permalink
DateOnly Extension demonstration
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike-E-angelo committed Mar 23, 2024
1 parent 4ab31a2 commit 89f27a2
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions test/ExtendedXmlSerializer.Tests.ReportedIssues/Issue608Tests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
using ExtendedXmlSerializer.Configuration;
using ExtendedXmlSerializer.ContentModel.Conversion;
using ExtendedXmlSerializer.Tests.ReportedIssues.Support;
using FluentAssertions;
using System;
using Xunit;

namespace ExtendedXmlSerializer.Tests.ReportedIssues
{
public sealed class Issue608Tests
{
#if CORE
public class TestClass
{
public DateOnly DateOfBirth { get; set; }
}

[Fact]
public void Verify()
{
TestClass instance = new()
{
DateOfBirth = DateOnly.Parse("2024-01-22")
};

var serializer = new ConfigurationContainer().UseAutoFormatting()
.UseOptimizedNamespaces()
.Type<DateOnly>()
.Register()
.Converter()
.Using(DateOnlyConverter.Default)
.ForTesting();

serializer.Cycle(instance).Should().BeEquivalentTo(instance);
}

sealed class DateOnlyConverter : ConverterBase<DateOnly>
{
public static DateOnlyConverter Default { get; } = new();

DateOnlyConverter() {}

public override DateOnly Parse(string data) => DateOnly.Parse(data);

public override string Format(DateOnly instance) => instance.ToString();
}
#endif
}
}

0 comments on commit 89f27a2

Please sign in to comment.