Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/aspnet/MessagePack-CSharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorpCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp>2020-10-27 14:27:47 +0300
committerpCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp>2020-10-27 14:27:47 +0300
commit1fba6ccb5723e15aa8d83e8a3cacf3971c4d64cc (patch)
tree817ae7de91da6522b69d00a102ce9ffd660be15c /tests
parent5a6cda6f9f5fd464da5eea7112e5d05cb0e70699 (diff)
Partial solution of #1085: mpc.exe #1092
commit d7a50b9d9a8de447a4dec61219fd584e862095a3 Merge: 02ae418 5a6cda6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:33:45 2020 +0900 Merge remote-tracking branch 'upstream/develop' into solution#1085-mpc commit 02ae418a39cdd6d5bbdab7b900eb5169d80fa7e9 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:25:20 2020 +0900 Update: Loop demonstration commit d84ae759892b2ab9fc10d8d434902fca10ee88c1 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 09:24:31 2020 +0900 Change: drop deserialized value -> reader.Skip() commit 9b0d4a21a8824dc277a48ac63180e901b6f9890e Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:27:10 2020 +0900 Fix: remove unused boolean local variables commit fdfabeb2f1fc8b87bc41419fb0ccaee2c354b98a Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Mon Oct 26 00:00:28 2020 +0900 Update: Make the same as Dynamic commit bef4692e10cc47b137b7c647acb11feffb177206 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 19:37:11 2020 +0900 Add test project commit a8fac80ec561f476f122d35ad2cbcd831a955d41 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:55:27 2020 +0900 Add types to sandbox commit 6ffc3c309b6b47728e927799b574fc23b37fa2c8 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:45:40 2020 +0900 Update: string-key mpc.exe commit 44819e6d551961598c29fdab5aa0bf65d53ed0e6 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 18:05:24 2020 +0900 Update: int-key mpc.exe commit 0a2fef4d2f3ae7f568bd34a554792f006ec31275 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:12:57 2020 +0900 Fix: var -> global::MessagePack.IFormatterResolver commit 086aa11e7ce4fb0723014c8bda554104b3b38463 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:05:21 2020 +0900 Fix: Line Feed commit 39d3d0844848f1d742820e2786528baf2bd1627c Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:03:37 2020 +0900 Fix: space commit c57f423a49fed8e1c1b365310017a2ec382b5f07 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sun Oct 25 12:00:32 2020 +0900 Change: var to globall:: Revert: DepthStep position Revert: }#> -> } #> commit de6fd239491b3fb7aa373644a384a71772d23b43 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 11:04:44 2020 +0900 fix CRLF commit 4b6ae7c6089f7d6732691a0af7f1d93424ccaa95 Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Sat Oct 24 10:59:50 2020 +0900 Change the format to decrease template part lines. Change the iterator `i` type from `int` to `var`. commit 95f41adff75a0ff605e760d5cdc485de10ee13be Author: pCYSl5EDgo <pCYSl5EDgo@yahoo.co.jp> Date: Fri Oct 23 21:03:54 2020 +0900 This is a cherry-pick of #1074. This is a refactoring of int-key mpc.exe tt file.
Diffstat (limited to 'tests')
-rw-r--r--tests/MessagePack.GeneratedCode.Tests/MessagePack.GeneratedCode.Tests.csproj21
-rw-r--r--tests/MessagePack.GeneratedCode.Tests/MissingPropertiesTest.cs105
2 files changed, 126 insertions, 0 deletions
diff --git a/tests/MessagePack.GeneratedCode.Tests/MessagePack.GeneratedCode.Tests.csproj b/tests/MessagePack.GeneratedCode.Tests/MessagePack.GeneratedCode.Tests.csproj
new file mode 100644
index 00000000..99ef099c
--- /dev/null
+++ b/tests/MessagePack.GeneratedCode.Tests/MessagePack.GeneratedCode.Tests.csproj
@@ -0,0 +1,21 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+ <PropertyGroup>
+ <TargetFramework>netcoreapp3.1</TargetFramework>
+
+ <IsPackable>false</IsPackable>
+ </PropertyGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
+ <PackageReference Include="Nerdbank.Streams" Version="2.4.48" />
+ <PackageReference Include="xunit" Version="2.4.0" />
+ <PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
+ <PackageReference Include="coverlet.collector" Version="1.2.0" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <ProjectReference Include="..\..\sandbox\Sandbox\Sandbox.csproj" />
+ </ItemGroup>
+
+</Project>
diff --git a/tests/MessagePack.GeneratedCode.Tests/MissingPropertiesTest.cs b/tests/MessagePack.GeneratedCode.Tests/MissingPropertiesTest.cs
new file mode 100644
index 00000000..0db93add
--- /dev/null
+++ b/tests/MessagePack.GeneratedCode.Tests/MissingPropertiesTest.cs
@@ -0,0 +1,105 @@
+// Copyright (c) All contributors. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+
+using MessagePack.Resolvers;
+using Nerdbank.Streams;
+using SharedData;
+using Xunit;
+
+namespace MessagePack.GeneratedCode.Tests
+{
+ public class MissingPropertiesTest
+ {
+ private readonly MessagePackSerializerOptions options;
+
+ public MissingPropertiesTest()
+ {
+ var resolver = CompositeResolver.Create(GeneratedResolver.Instance, StandardResolver.Instance);
+ options = MessagePackSerializerOptions.Standard.WithResolver(resolver);
+ }
+
+ [Fact]
+ public void DefaultValueStringKeyClassWithoutExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteMapHeader(0);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueStringKeyClassWithoutExplicitConstructor>(seq, options);
+ Assert.Equal(DefaultValueStringKeyClassWithoutExplicitConstructor.Prop1Constant, instance.Prop1);
+ Assert.Equal(DefaultValueStringKeyClassWithoutExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+
+ [Fact]
+ public void DefaultValueStringKeyClassWithExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteMapHeader(1);
+ writer.Write(nameof(DefaultValueStringKeyClassWithExplicitConstructor.Prop1));
+ writer.Write(-1);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueStringKeyClassWithExplicitConstructor>(seq, options);
+ Assert.Equal(-1, instance.Prop1);
+ Assert.Equal(DefaultValueStringKeyClassWithExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+
+ [Fact]
+ public void DefaultValueStringKeyStructWithExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteMapHeader(1);
+ writer.Write(nameof(DefaultValueStringKeyStructWithExplicitConstructor.Prop1));
+ writer.Write(-1);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueStringKeyStructWithExplicitConstructor>(seq, options);
+ Assert.Equal(-1, instance.Prop1);
+ Assert.Equal(DefaultValueStringKeyStructWithExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+
+ [Fact]
+ public void DefaultValueIntKeyClassWithoutExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteArrayHeader(0);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueIntKeyClassWithoutExplicitConstructor>(seq, options);
+ Assert.Equal(DefaultValueIntKeyClassWithoutExplicitConstructor.Prop1Constant, instance.Prop1);
+ Assert.Equal(DefaultValueIntKeyClassWithoutExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+
+ [Fact]
+ public void DefaultValueIntKeyClassWithExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteArrayHeader(1);
+ writer.Write(-1);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueIntKeyClassWithExplicitConstructor>(seq, options);
+ Assert.Equal(-1, instance.Prop1);
+ Assert.Equal(DefaultValueIntKeyClassWithExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+
+ [Fact]
+ public void DefaultValueIntKeyStructWithExplicitConstructorTest()
+ {
+ var seq = new Sequence<byte>();
+ var writer = new MessagePackWriter(seq);
+ writer.WriteArrayHeader(1);
+ writer.Write(-1);
+ writer.Flush();
+
+ var instance = MessagePackSerializer.Deserialize<DefaultValueIntKeyStructWithExplicitConstructor>(seq, options);
+ Assert.Equal(-1, instance.Prop1);
+ Assert.Equal(DefaultValueIntKeyStructWithExplicitConstructor.Prop2Constant, instance.Prop2);
+ }
+ }
+}