Files
pgsql-jellyfin/tests/Jellyfin.Extensions.Tests/Json/Converters/JsonBoolNumberTests.cs
T
wjones e887356385 Improve XML docs and formatting in tests and constants
Added and enhanced XML documentation comments across the codebase, including detailed summaries and parameter descriptions for methods, classes, and constants. Documented all MatroskaConstants. Improved test readability with comments and explicit variable declarations. Made minor formatting and consistency fixes in test files. No functional changes. Updated project cache and binary files to reflect documentation improvements.
2026-02-21 15:46:18 -05:00

68 lines
2.2 KiB
C#

// <copyright file="JsonBoolNumberTests.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>
namespace Jellyfin.Extensions.Tests.Json.Converters
{
using System.Text.Json;
using FsCheck;
using FsCheck.Fluent;
using FsCheck.Xunit;
using Jellyfin.Extensions.Json.Converters;
using Xunit;
/// <summary>
/// Tests for the JsonBoolNumberConverter.
/// </summary>
public class JsonBoolNumberTests
{
private readonly JsonSerializerOptions _jsonOptions = new()
{
Converters =
{
new JsonBoolNumberConverter(),
},
};
/// <summary>
/// Tests deserialization of numbers to boolean.
/// </summary>
/// <param name="input">The input string.</param>
/// <param name="output">The expected output.</param>
[Theory]
[InlineData("1", true)]
[InlineData("0", false)]
[InlineData("2", true)]
[InlineData("true", true)]
[InlineData("false", false)]
public void Deserialize_Number_Valid_Success(string input, bool? output)
{
bool value = JsonSerializer.Deserialize<bool>(input, this._jsonOptions);
Assert.Equal(value, output);
}
/// <summary>
/// Tests serialization of boolean values.
/// </summary>
/// <param name="input">The input boolean.</param>
/// <param name="output">The expected output.</param>
[Theory]
[InlineData(true, "true")]
[InlineData(false, "false")]
public void Serialize_Bool_Success(bool input, string output)
{
string value = JsonSerializer.Serialize(input, this._jsonOptions);
Assert.Equal(value, output);
}
/// <summary>
/// Property test that non-zero integers deserialize to true.
/// </summary>
/// <param name="input">The input non-zero integer.</param>
/// <returns>A property test result.</returns>
[Property]
public Property Deserialize_NonZeroInt_True(NonZeroInt input)
=> JsonSerializer.Deserialize<bool>(input.ToString(), this._jsonOptions).ToProperty();
}
}