Files
sharpemu/tests/SharpEmu.Libs.Tests/Logging/SharpEmuLogTests.cs
T
2026-07-18 15:47:19 +03:00

40 lines
1.1 KiB
C#

// Copyright (C) 2026 SharpEmu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
using SharpEmu.Logging;
using Xunit;
namespace SharpEmu.Libs.Tests.Logging;
public sealed class SharpEmuLogTests
{
[Theory]
[InlineData("Trace", LogLevel.Trace)]
[InlineData("debug", LogLevel.Debug)]
[InlineData(" Info ", LogLevel.Info)]
[InlineData("WARNING", LogLevel.Warning)]
[InlineData("Error", LogLevel.Error)]
[InlineData("critical", LogLevel.Critical)]
[InlineData("None", LogLevel.None)]
[InlineData("warn", LogLevel.Warning)]
[InlineData("fatal", LogLevel.Critical)]
public void TryParseLevelAcceptsDefinedNamesAndAliases(string text, LogLevel expected)
{
Assert.True(SharpEmuLog.TryParseLevel(text, out var actual));
Assert.Equal(expected, actual);
}
[Theory]
[InlineData(null)]
[InlineData("")]
[InlineData(" ")]
[InlineData("unknown")]
[InlineData("999")]
[InlineData("-1")]
public void TryParseLevelRejectsInvalidValues(string? text)
{
Assert.False(SharpEmuLog.TryParseLevel(text, out var level));
Assert.Equal(default, level);
}
}