Skip to content

Commit 3d03fc5

Browse files
Merge 35b82c8 into 32670f0
2 parents 32670f0 + 35b82c8 commit 3d03fc5

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
using ExtendedXmlSerializer.Configuration;
2+
using ExtendedXmlSerializer.Tests.ReportedIssues.Support;
3+
using FluentAssertions;
4+
using System;
5+
using System.Xml.Serialization;
6+
using Xunit;
7+
8+
namespace ExtendedXmlSerializer.Tests.ReportedIssues
9+
{
10+
public sealed class Issue393Tests
11+
{
12+
[Fact]
13+
void Verify()
14+
{
15+
const string content = @"<?xml version=""1.0"" encoding=""UTF-8""?>
16+
<pin>
17+
<id>1309801580</id>
18+
<code>GBCT</code>
19+
<expires-at>2020-05-10T18:52:14Z</expires-at>
20+
<user-id>231221</user-id>
21+
<client-identifier>8c89f40c-e1f3-45e1-95bc-a45a047ce77f</client-identifier>
22+
<trusted>false</trusted>
23+
<auth-token>z6ZM5jeSP19WroEQc2Xy</auth-token>
24+
<auth_token>z6ZM5jeSP19WroEQc2Xy</auth_token>
25+
</pin>";
26+
var support = new ConfigurationContainer().EnableImplicitTyping(typeof(Pin))
27+
.WithUnknownContent()
28+
.Continue()
29+
.Create()
30+
.ForTesting();
31+
var stored = support.Deserialize<Pin>(content);
32+
33+
var expectation = new Pin
34+
{
35+
ID = 1309801580, Code = "GBCT",
36+
ExpiresAtUTC = DateTimeOffset.Parse("2020-05-10T18:52:14Z").UtcDateTime,
37+
AuthToken = "z6ZM5jeSP19WroEQc2Xy", ClientIdentifier = new Guid("8c89f40c-e1f3-45e1-95bc-a45a047ce77f")
38+
};
39+
stored.Should().BeEquivalentTo(expectation);
40+
}
41+
42+
[XmlRoot("pin")]
43+
public sealed class Pin
44+
{
45+
[XmlElement("id")]
46+
public int ID { get; set; }
47+
48+
[XmlElement("code")]
49+
public string Code { get; set; }
50+
51+
[XmlElement("expires-at")]
52+
public DateTime ExpiresAtUTC { get; set; }
53+
54+
[XmlElement("auth-token")]
55+
public string AuthToken { get; set; }
56+
57+
[XmlElement("client-identifier")]
58+
public Guid ClientIdentifier { get; set; }
59+
}
60+
}
61+
}

0 commit comments

Comments
 (0)