diff --git a/src/Tgstation.Server.Host/Extensions/Converters/VersionConverter.cs b/src/Tgstation.Server.Host/Extensions/Converters/VersionConverter.cs index 3c18ce50e8..4d91a10ebd 100644 --- a/src/Tgstation.Server.Host/Extensions/Converters/VersionConverter.cs +++ b/src/Tgstation.Server.Host/Extensions/Converters/VersionConverter.cs @@ -8,7 +8,7 @@ using YamlDotNet.Serialization; namespace Tgstation.Server.Host.Extensions.Converters { /// - /// and for serializing s for BYOND. + /// and for serializing s in semver format. /// sealed class VersionConverter : JsonConverter, IYamlTypeConverter { @@ -82,19 +82,7 @@ namespace Tgstation.Server.Host.Extensions.Converters public bool Accepts(Type type) => CheckSupportsType(type, false); /// - public object ReadYaml(IParser parser, Type type) - { - if (parser == null) - throw new ArgumentNullException(nameof(parser)); - - CheckSupportsType(type, true); - - var scalar = parser.Consume(); - if (scalar == null) - return null; - - return global::System.Version.Parse(scalar.Value); - } + public object ReadYaml(IParser parser, Type type) => throw new NotSupportedException("Deserialization not supported!"); // The default implementation is fine at handling this /// public void WriteYaml(IEmitter emitter, object value, Type type) @@ -104,11 +92,14 @@ namespace Tgstation.Server.Host.Extensions.Converters CheckSupportsType(type, true); + if (value == null) + throw new NotSupportedException("Null values not supported!"); + var version = (global::System.Version)value; emitter.Emit( new Scalar( version - ?.Semver() + .Semver() .ToString())); } } diff --git a/tests/Tgstation.Server.Host.Tests/Extensions/Converters/TestVersionConverter.cs b/tests/Tgstation.Server.Host.Tests/Extensions/Converters/TestVersionConverter.cs index a650c0e97f..39d2eee434 100644 --- a/tests/Tgstation.Server.Host.Tests/Extensions/Converters/TestVersionConverter.cs +++ b/tests/Tgstation.Server.Host.Tests/Extensions/Converters/TestVersionConverter.cs @@ -37,16 +37,5 @@ namespace Tgstation.Server.Host.Extensions.Converters.Tests Assert.AreEqual(testYaml, serializedString.Trim()); } - - [TestMethod] - public void TestYamlDeserialization() - { - var deserialized = new DeserializerBuilder() - .WithTypeConverter(new VersionConverter()) - .Build() - .Deserialize(testYaml); - - Assert.AreEqual(testVersion, deserialized.Version); - } } }