[source,csharp]
----
[TestMethod]
[ExpectedException(typeof(InvalidOperationException))]
public void UsingTest()
{
    Console.ForegroundColor = ConsoleColor.Black;
    try
    {
        using var _ = new ConsoleAlert();
        Assert.AreEqual(ConsoleColor.Red, Console.ForegroundColor);
        throw new InvalidOperationException();
    }
    finally
    {
        Assert.AreEqual(ConsoleColor.Black, Console.ForegroundColor); // The exception itself is not relevant for the test.
    }
}

public sealed class ConsoleAlert : IDisposable
{
    private readonly ConsoleColor previous;

    public  ConsoleAlert()
    {
        previous = Console.ForegroundColor;
        Console.ForegroundColor = ConsoleColor.Red;
    }

    public void Dispose() =>
        Console.ForegroundColor = previous;
}
----
