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) {