aboutsummaryrefslogtreecommitdiff
path: root/tests/Jellyfin.Extensions.Tests/Json/Converters/JsonVersionConverterTests.cs
blob: 5fbac7eab05f35b524b9759d18f125636d5b6584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Text.Json;
using Jellyfin.Extensions.Json.Converters;
using Xunit;

namespace Jellyfin.Extensions.Tests.Json.Converters
{
    public class JsonVersionConverterTests
    {
        private readonly JsonSerializerOptions _options;

        public JsonVersionConverterTests()
        {
            _options = new JsonSerializerOptions();
            _options.Converters.Add(new JsonVersionConverter());
        }

        [Fact]
        public void Deserialize_Version_Success()
        {
            var input = "\"1.025.222\"";
            var output = new Version(1, 25, 222);
            var deserializedInput = JsonSerializer.Deserialize<Version>(input, _options);
            Assert.Equal(output, deserializedInput);
        }

        [Fact]
        public void Serialize_Version_Success()
        {
            var input = new Version(1, 09, 59);
            var output = "\"1.9.59\"";
            var serializedInput = JsonSerializer.Serialize(input, _options);
            Assert.Equal(output, serializedInput);
        }
    }
}