32 lines
875 B
Plaintext
32 lines
875 B
Plaintext
![]() |
[source,vbnet]
|
||
|
----
|
||
|
<TestMethod>
|
||
|
<ExpectedException(GetType(InvalidOperationException))>
|
||
|
Public Sub UsingTest()
|
||
|
Console.ForegroundColor = ConsoleColor.Black
|
||
|
Try
|
||
|
Using alert As New ConsoleAlert()
|
||
|
Assert.AreEqual(ConsoleColor.Red, Console.ForegroundColor)
|
||
|
Throw New InvalidOperationException()
|
||
|
End Using
|
||
|
Finally
|
||
|
Assert.AreEqual(ConsoleColor.Black, Console.ForegroundColor) ' The exception itself is not relevant for the test.
|
||
|
End Try
|
||
|
End Sub
|
||
|
|
||
|
Public NotInheritable Class ConsoleAlert
|
||
|
Implements IDisposable
|
||
|
|
||
|
Private ReadOnly previous As ConsoleColor
|
||
|
|
||
|
Public Sub New()
|
||
|
previous = Console.ForegroundColor
|
||
|
Console.ForegroundColor = ConsoleColor.Red
|
||
|
End Sub
|
||
|
|
||
|
Public Sub Dispose() Implements IDisposable.Dispose
|
||
|
Console.ForegroundColor = previous
|
||
|
End Sub
|
||
|
End Class
|
||
|
----
|