From 7bfd5eb72e985ef3792d2603b3dddfa995a02629 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 14 Aug 2020 23:55:07 +0200 Subject: [PATCH] Add NetSerializer dictionary test (#1214) Co-authored-by: Pieter-Jan Briers --- .../Serialization/NetSerializer_Test.cs | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Robust.UnitTesting/Shared/Serialization/NetSerializer_Test.cs b/Robust.UnitTesting/Shared/Serialization/NetSerializer_Test.cs index e083bc996b..8574025078 100644 --- a/Robust.UnitTesting/Shared/Serialization/NetSerializer_Test.cs +++ b/Robust.UnitTesting/Shared/Serialization/NetSerializer_Test.cs @@ -37,6 +37,33 @@ namespace Robust.UnitTesting.Shared.Serialization } } + public static readonly Dictionary?[] DictionaryValues = + { + null, + new Dictionary(), + new Dictionary {{"A", 1}}, + new Dictionary {{"A", 1}, {"B", 2}, {"C", 3}}, + }; + + [Test] + public void TestDictionary([ValueSource(nameof(DictionaryValues))] Dictionary? list) + { + var serializer = new Serializer(new[] {typeof(Dictionary)}); + var stream = new MemoryStream(); + serializer.SerializeDirect(stream, list); + stream.Position = 0; + + serializer.DeserializeDirect?>(stream, out var deserialized); + if (list == null) + { + Assert.Null(deserialized); + } + else + { + Assert.That(deserialized, Is.EquivalentTo(list)); + } + } + public static readonly HashSet?[] HashSetValues = { null, @@ -51,7 +78,7 @@ namespace Robust.UnitTesting.Shared.Serialization var stream = new MemoryStream(); serializer.SerializeDirect(stream, set); stream.Position = 0; - + serializer.DeserializeDirect?>(stream, out var deserialized); if (set == null) {