Class TestOutputWriter
Wraps an Xunit.Abstractions.ITestOutputHelper with a TextWriter that can be used generate output in unit tests that will be included in the captured test log.
note
Only the Write(...) and WriteLine(...) methods are implemented.
Namespace: Neon.Xunit
Assembly: Neon.Xunit.dll
Syntax
public class TestOutputWriter : TextWriter
Remarks
To use this class, you'll need to obtain a Xunit.Abstractions.ITestOutputHelper instance from Xunit via dependency injection by adding a parameter to your test constructor and then creating a TestOutputWriter from it, like:
public class MyTest : IClassFixture<AspNetFixture>
{
private AspNetFixture fixture;
private TestAspNetFixtureClient client;
private TestOutputWriter testWriter;
public Test_EndToEnd(AspNetFixture fixture, ITestOutputHelper outputHelper)
{
this.fixture = fixture;
this.testWriter = new TestOutputWriter(outputHelper);
fixture.Start<Startup>(logWriter: testWriter, logLevel: Neon.Diagnostics.LogLevel.Debug);
client = new TestAspNetFixtureClient()
{
BaseAddress = fixture.BaseAddress
};
}
}
Constructors
TestOutputWriter(ITestOutputHelper)
Constructor.
Declaration
public TestOutputWriter(ITestOutputHelper outputHelper)
Parameters
| Type | Name | Description |
|---|---|---|
| ITestOutputHelper | outputHelper | The test output helper. |
Exceptions
| Type | Condition |
|---|---|
| NotImplementedException | Thrown for all methods except for |
Properties
Encoding
When overridden in a derived class, returns the character encoding in which the output is written.
Declaration
public override Encoding Encoding { get; }
Property Value
| Type | Description |
|---|---|
| Encoding | The character encoding in which the output is written. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| NotImplementedException | Thrown for all methods except for |
Methods
Flush()
Clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
Declaration
public override void Flush()
Overrides
Exceptions
| Type | Condition |
|---|---|
| NotImplementedException | Thrown for all methods except for |
FlushAsync()
Asynchronously clears all buffers for the current writer and causes any buffered data to be written to the underlying device.
Declaration
public override Task FlushAsync()
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous flush operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The writer is currently in use by a previous write operation. |
Write(bool)
Writes the text representation of a Boolean value to the text stream.
Declaration
public override void Write(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | The |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(char)
Writes a character to the text stream.
Declaration
public override void Write(char value)
Parameters
| Type | Name | Description |
|---|---|---|
| char | value | The character to write to the text stream. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(char[])
Writes a character array to the text stream.
Declaration
public override void Write(char[] buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array to write to the text stream. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(char[], int, int)
Writes a subarray of characters to the text stream.
Declaration
public override void Write(char[] buffer, int index, int count)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array to write data from. |
| int | index | The character position in the buffer at which to start retrieving data. |
| int | count | The number of characters to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | The buffer length minus |
| ArgumentNullException | The |
| ArgumentOutOfRangeException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(decimal)
Writes the text representation of a decimal value to the text stream.
Declaration
public override void Write(decimal value)
Parameters
| Type | Name | Description |
|---|---|---|
| decimal | value | The decimal value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(double)
Writes the text representation of an 8-byte floating-point value to the text stream.
Declaration
public override void Write(double value)
Parameters
| Type | Name | Description |
|---|---|---|
| double | value | The 8-byte floating-point value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(int)
Writes the text representation of a 4-byte signed integer to the text stream.
Declaration
public override void Write(int value)
Parameters
| Type | Name | Description |
|---|---|---|
| int | value | The 4-byte signed integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(long)
Writes the text representation of an 8-byte signed integer to the text stream.
Declaration
public override void Write(long value)
Parameters
| Type | Name | Description |
|---|---|---|
| long | value | The 8-byte signed integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(object)
Writes the text representation of an object to the text stream by calling the ToString method on that object.
Declaration
public override void Write(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| object | value | The object to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(float)
Writes the text representation of a 4-byte floating-point value to the text stream.
Declaration
public override void Write(float value)
Parameters
| Type | Name | Description |
|---|---|---|
| float | value | The 4-byte floating-point value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(string)
Writes a string to the text stream.
Declaration
public override void Write(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The string to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(string, object)
Writes a formatted string to the text stream, using the same semantics as the Format(string, object) method.
Declaration
public override void Write(string format, object arg0)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is one). |
Write(string, object, object)
Writes a formatted string to the text stream using the same semantics as the Format(string, object, object) method.
Declaration
public override void Write(string format, object arg0, object arg1)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The first object to format and write. |
| object | arg1 | The second object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero) or greater than or equal to the number of objects to be formatted (which, for this method overload, is two). |
Write(string, object, object, object)
Writes a formatted string to the text stream, using the same semantics as the Format(string, object, object, object) method.
Declaration
public override void Write(string format, object arg0, object arg1, object arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The first object to format and write. |
| object | arg1 | The second object to format and write. |
| object | arg2 | The third object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is three). |
Write(string, params object[])
Writes a formatted string to the text stream, using the same semantics as the Format(string, params object[]) method.
Declaration
public override void Write(string format, params object[] arg)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object[] | arg | An object array that contains zero or more objects to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the length of the |
Write(uint)
Writes the text representation of a 4-byte unsigned integer to the text stream.
Declaration
public override void Write(uint value)
Parameters
| Type | Name | Description |
|---|---|---|
| uint | value | The 4-byte unsigned integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
Write(ulong)
Writes the text representation of an 8-byte unsigned integer to the text stream.
Declaration
public override void Write(ulong value)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | value | The 8-byte unsigned integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteAsync(char)
Writes a character to the text stream asynchronously.
Declaration
public override Task WriteAsync(char value)
Parameters
| Type | Name | Description |
|---|---|---|
| char | value | The character to write to the text stream. |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteAsync(char[], int, int)
Writes a subarray of characters to the text stream asynchronously.
Declaration
public override Task WriteAsync(char[] buffer, int index, int count)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array to write data from. |
| int | index | The character position in the buffer at which to start retrieving data. |
| int | count | The number of characters to write. |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ArgumentException | The |
| ArgumentOutOfRangeException |
|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteAsync(string)
Writes a string to the text stream asynchronously.
Declaration
public override Task WriteAsync(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The string to write. If |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteLine()
Writes a line terminator to the text stream.
Declaration
public override void WriteLine()
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(bool)
Writes the text representation of a Boolean value to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | The |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(char)
Writes a character to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(char value)
Parameters
| Type | Name | Description |
|---|---|---|
| char | value | The character to write to the text stream. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(char[])
Writes an array of characters to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(char[] buffer)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array from which data is read. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(char[], int, int)
Writes a subarray of characters to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(char[] buffer, int index, int count)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array from which data is read. |
| int | index | The character position in |
| int | count | The maximum number of characters to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentException | The buffer length minus |
| ArgumentNullException | The |
| ArgumentOutOfRangeException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(decimal)
Writes the text representation of a decimal value to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(decimal value)
Parameters
| Type | Name | Description |
|---|---|---|
| decimal | value | The decimal value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(double)
Writes the text representation of a 8-byte floating-point value to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(double value)
Parameters
| Type | Name | Description |
|---|---|---|
| double | value | The 8-byte floating-point value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(int)
Writes the text representation of a 4-byte signed integer to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(int value)
Parameters
| Type | Name | Description |
|---|---|---|
| int | value | The 4-byte signed integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(long)
Writes the text representation of an 8-byte signed integer to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(long value)
Parameters
| Type | Name | Description |
|---|---|---|
| long | value | The 8-byte signed integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(object)
Writes the text representation of an object to the text stream, by calling the ToString method on that object, followed by a line terminator.
Declaration
public override void WriteLine(object value)
Parameters
| Type | Name | Description |
|---|---|---|
| object | value | The object to write. If |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(float)
Writes the text representation of a 4-byte floating-point value to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(float value)
Parameters
| Type | Name | Description |
|---|---|---|
| float | value | The 4-byte floating-point value to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(string)
Writes a string to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The string to write. If |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(string, object)
Writes a formatted string and a new line to the text stream, using the same semantics as the Format(string, object) method.
Declaration
public override void WriteLine(string format, object arg0)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is one). |
WriteLine(string, object, object)
Writes a formatted string and a new line to the text stream, using the same semantics as the Format(string, object, object) method.
Declaration
public override void WriteLine(string format, object arg0, object arg1)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The first object to format and write. |
| object | arg1 | The second object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is two). |
WriteLine(string, object, object, object)
Writes out a formatted string and a new line to the text stream, using the same semantics as Format(string, object).
Declaration
public override void WriteLine(string format, object arg0, object arg1, object arg2)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object | arg0 | The first object to format and write. |
| object | arg1 | The second object to format and write. |
| object | arg2 | The third object to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the number of objects to be formatted (which, for this method overload, is three). |
WriteLine(string, params object[])
Writes out a formatted string and a new line to the text stream, using the same semantics as Format(string, object).
Declaration
public override void WriteLine(string format, params object[] arg)
Parameters
| Type | Name | Description |
|---|---|---|
| string | format | A composite format string. |
| object[] | arg | An object array that contains zero or more objects to format and write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException | A string or object is passed in as null. |
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
| FormatException |
-or- The index of a format item is less than 0 (zero), or greater than or equal to the length of the |
WriteLine(uint)
Writes the text representation of a 4-byte unsigned integer to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(uint value)
Parameters
| Type | Name | Description |
|---|---|---|
| uint | value | The 4-byte unsigned integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLine(ulong)
Writes the text representation of an 8-byte unsigned integer to the text stream, followed by a line terminator.
Declaration
public override void WriteLine(ulong value)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | value | The 8-byte unsigned integer to write. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The TextWriter is closed. |
| IOException | An I/O error occurs. |
WriteLineAsync()
Asynchronously writes a line terminator to the text stream.
Declaration
public override Task WriteLineAsync()
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteLineAsync(char)
Asynchronously writes a character to the text stream, followed by a line terminator.
Declaration
public override Task WriteLineAsync(char value)
Parameters
| Type | Name | Description |
|---|---|---|
| char | value | The character to write to the text stream. |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteLineAsync(char[], int, int)
Asynchronously writes a subarray of characters to the text stream, followed by a line terminator.
Declaration
public override Task WriteLineAsync(char[] buffer, int index, int count)
Parameters
| Type | Name | Description |
|---|---|---|
| char[] | buffer | The character array to write data from. |
| int | index | The character position in the buffer at which to start retrieving data. |
| int | count | The number of characters to write. |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
|
| ArgumentException | The |
| ArgumentOutOfRangeException |
|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |
WriteLineAsync(string)
Asynchronously writes a string to the text stream, followed by a line terminator.
Declaration
public override Task WriteLineAsync(string value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | value | The string to write. If the value is null, only a line terminator is written. |
Returns
| Type | Description |
|---|---|
| Task | A task that represents the asynchronous write operation. |
Overrides
Exceptions
| Type | Condition |
|---|---|
| ObjectDisposedException | The text writer is disposed. |
| InvalidOperationException | The text writer is currently in use by a previous write operation. |