Skip to content

Commit 1887686

Browse files
committed
Implemented unified / async-only / nullable.
1 parent 356d151 commit 1887686

15 files changed

Lines changed: 200 additions & 303 deletions

Shuttle.Core.Serialization.Tests/DefaultSerializerFixture.cs

Lines changed: 6 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,6 @@ namespace Shuttle.Core.Serialization.Tests
77
{
88
public class DefaultSerializerFixture
99
{
10-
[Test]
11-
public void Should_be_able_to_serialize_and_deserialize_a_simple_type()
12-
{
13-
var original = new SimpleSerializerType();
14-
var serializer = new DefaultSerializer();
15-
16-
var stream = serializer.Serialize(original);
17-
18-
var xml = new StreamReader(stream).ReadToEnd();
19-
20-
Assert.IsTrue(xml.Contains(original.Id.ToString()));
21-
22-
stream.Position = 0;
23-
24-
Assert.AreEqual(original.Id, ((SimpleSerializerType)serializer.Deserialize(typeof(SimpleSerializerType), stream)).Id);
25-
}
26-
2710
[Test]
2811
public async Task Should_be_able_to_serialize_and_deserialize_a_simple_type_async()
2912
{
@@ -34,40 +17,11 @@ public async Task Should_be_able_to_serialize_and_deserialize_a_simple_type_asyn
3417

3518
var xml = await new StreamReader(stream).ReadToEndAsync();
3619

37-
Assert.IsTrue(xml.Contains(original.Id.ToString()));
38-
39-
stream.Position = 0;
40-
41-
Assert.AreEqual(original.Id, ((SimpleSerializerType)await serializer.DeserializeAsync(typeof(SimpleSerializerType), stream)).Id);
42-
}
43-
44-
[Test]
45-
public void Should_be_able_to_serialize_and_deserialize_a_complex_type()
46-
{
47-
var complex = new ComplexSerializerType();
48-
var serializer = new DefaultSerializer();
49-
50-
serializer.AddSerializerType(typeof(ComplexSerializerType), typeof(v1.SomeSerializerType));
51-
serializer.AddSerializerType(typeof(ComplexSerializerType), typeof(v1.AnotherSerializerType));
52-
serializer.AddSerializerType(typeof(ComplexSerializerType), typeof(v2.SomeSerializerType));
53-
serializer.AddSerializerType(typeof(ComplexSerializerType), typeof(v2.AnotherSerializerType));
54-
55-
var stream = serializer.Serialize(complex);
56-
var xml = new StreamReader(stream).ReadToEnd();
57-
58-
Assert.IsTrue(xml.Contains(complex.Id.ToString()));
20+
Assert.That(xml.Contains(original.Id.ToString()), Is.True);
5921

6022
stream.Position = 0;
6123

62-
Assert.AreEqual(complex.Id, ((ComplexSerializerType)serializer.Deserialize(typeof(ComplexSerializerType), stream)).Id);
63-
64-
Console.WriteLine(xml);
65-
66-
var some1 = new v1.SomeSerializerType();
67-
var some2 = new v2.SomeSerializerType();
68-
69-
Assert.AreEqual(some1.Id, ((v1.SomeSerializerType)serializer.Deserialize(typeof(v1.SomeSerializerType), serializer.Serialize(some1))).Id);
70-
Assert.AreEqual(some2.Id, ((v2.SomeSerializerType)serializer.Deserialize(typeof(v2.SomeSerializerType), serializer.Serialize(some2))).Id);
24+
Assert.That(((SimpleSerializerType)await serializer.DeserializeAsync(typeof(SimpleSerializerType), stream)).Id, Is.EqualTo(original.Id));
7125
}
7226

7327
[Test]
@@ -84,19 +38,19 @@ public async Task Should_be_able_to_serialize_and_deserialize_a_complex_type_asy
8438
var stream = await serializer.SerializeAsync(complex);
8539
var xml = await new StreamReader(stream).ReadToEndAsync();
8640

87-
Assert.IsTrue(xml.Contains(complex.Id.ToString()));
41+
Assert.That(xml.Contains(complex.Id.ToString()), Is.True);
8842

8943
stream.Position = 0;
9044

91-
Assert.AreEqual(complex.Id, ((ComplexSerializerType)await serializer.DeserializeAsync(typeof(ComplexSerializerType), stream)).Id);
45+
Assert.That(((ComplexSerializerType)await serializer.DeserializeAsync(typeof(ComplexSerializerType), stream)).Id, Is.EqualTo(complex.Id));
9246

9347
Console.WriteLine(xml);
9448

9549
var some1 = new v1.SomeSerializerType();
9650
var some2 = new v2.SomeSerializerType();
9751

98-
Assert.AreEqual(some1.Id, ((v1.SomeSerializerType)await serializer.DeserializeAsync(typeof(v1.SomeSerializerType), await serializer.SerializeAsync(some1))).Id);
99-
Assert.AreEqual(some2.Id, ((v2.SomeSerializerType)await serializer.DeserializeAsync(typeof(v2.SomeSerializerType), await serializer.SerializeAsync(some2))).Id);
52+
Assert.That(((v1.SomeSerializerType)await serializer.DeserializeAsync(typeof(v1.SomeSerializerType), await serializer.SerializeAsync(some1))).Id, Is.EqualTo(some1.Id));
53+
Assert.That(((v2.SomeSerializerType)await serializer.DeserializeAsync(typeof(v2.SomeSerializerType), await serializer.SerializeAsync(some2))).Id, Is.EqualTo(some2.Id));
10054
}
10155
}
10256
}

Shuttle.Core.Serialization.Tests/Shuttle.Core.Serialization.Tests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
9-
<PackageReference Include="NUnit" Version="3.14.0" />
10-
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
8+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
9+
<PackageReference Include="NUnit" Version="4.2.2" />
10+
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
1111
</ItemGroup>
1212

1313
<ItemGroup>

Shuttle.Core.Serialization/.package/AssemblyInfo.cs.template

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,7 @@
11
using System.Reflection;
22
using System.Runtime.InteropServices;
33

4-
#if NETFRAMEWORK
5-
[assembly: AssemblyTitle(".NET Framework")]
6-
#endif
7-
8-
#if NETCOREAPP
9-
[assembly: AssemblyTitle(".NET Core")]
10-
#endif
11-
12-
#if NETSTANDARD
13-
[assembly: AssemblyTitle(".NET Standard")]
14-
#endif
15-
4+
[assembly: AssemblyTitle(".NET Unified Platform")]
165
[assembly: AssemblyVersion("#{SemanticVersionCore}#.0")]
176
[assembly: AssemblyCopyright("Copyright (c) #{Year}#, Eben Roux")]
187
[assembly: AssemblyProduct("Shuttle.Core.Serialization")]

Shuttle.Core.Serialization/.package/Shuttle.NuGetPackager.targets

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
<?xml version="1.0" encoding="utf-8" ?>
1+
<?xml version="1.0" encoding="utf-8"?>
2+
23
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
34
<PropertyGroup>
45
<PackageTasksPath Condition="'$(PackageTasksPath)' == ''">Shuttle.NuGetPackager.MSBuild.dll</PackageTasksPath>
@@ -9,4 +10,4 @@
910
<UsingTask AssemblyFile="$(PackageTasksPath)" TaskName="Shuttle.NuGetPackager.MSBuild.NuGet.SetNuGetPackageVersions" />
1011
<UsingTask AssemblyFile="$(PackageTasksPath)" TaskName="Shuttle.NuGetPackager.MSBuild.Zip" />
1112
<UsingTask AssemblyFile="$(PackageTasksPath)" TaskName="Shuttle.NuGetPackager.MSBuild.NuGet.SemanticVersion" />
12-
</Project>
13+
</Project>

Shuttle.Core.Serialization/.package/package.nuspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package>
44
<metadata>
55
<id>Shuttle.Core.Serialization</id>
6-
<version>11.0.0</version>
6+
<version>20.0.0</version>
77
<authors>Eben Roux</authors>
88
<owners>Eben Roux</owners>
99
<license type="expression">BSD-3-Clause</license>
@@ -16,7 +16,7 @@
1616
<copyright>Copyright (c) 2024, Eben Roux</copyright>
1717
<tags>shuttle serialization</tags>
1818
<dependencies>
19-
<dependency id="Shuttle.Core.Contract" version="11.1.0" />
19+
<dependency id="Shuttle.Core.Contract" version="20.0.0" />
2020
</dependencies>
2121
</metadata>
2222
<files>

0 commit comments

Comments
 (0)