mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-07-16 10:33:58 +01:00
YAML unit tests for VersionConverter
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using System;
|
||||
using Tgstation.Server.Api;
|
||||
using YamlDotNet.Serialization;
|
||||
|
||||
namespace Tgstation.Server.Host.Extensions.Converters.Tests
|
||||
{
|
||||
[TestClass]
|
||||
public sealed class TestVersionConverter
|
||||
{
|
||||
class TestObject
|
||||
{
|
||||
public Version Version { get; set; }
|
||||
}
|
||||
|
||||
readonly Version testVersion;
|
||||
readonly string testYaml;
|
||||
|
||||
public TestVersionConverter()
|
||||
{
|
||||
testVersion = new Version(1, 2, 3);
|
||||
testYaml = $@"{nameof(TestObject.Version)}: {testVersion.Semver()}";
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestYamlSerialization()
|
||||
{
|
||||
var testObj = new TestObject
|
||||
{
|
||||
Version = testVersion
|
||||
};
|
||||
|
||||
var serializedString = new SerializerBuilder()
|
||||
.WithTypeConverter(new VersionConverter())
|
||||
.Build()
|
||||
.Serialize(testObj);
|
||||
|
||||
Assert.AreEqual(testYaml, serializedString.Trim());
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TestYamlDeserialization()
|
||||
{
|
||||
var deserialized = new DeserializerBuilder()
|
||||
.WithTypeConverter(new VersionConverter())
|
||||
.Build()
|
||||
.Deserialize<TestObject>(testYaml);
|
||||
|
||||
Assert.AreEqual(testVersion, deserialized.Version);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user