[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; } ----