Files
Terminal.Gui/Tests/UnitTests/FakeDriverBase.cs

33 lines
1.3 KiB
C#

namespace UnitTests;
/// <summary>
/// Enables tests to create a FakeDriver for testing purposes.
/// </summary>
[Collection ("Global Test Setup")]
public abstract class FakeDriverBase
{
/// <summary>
/// Creates a new FakeDriver instance with the specified buffer size.
/// This is a convenience method for tests that need to use Draw() and DriverAssert
/// without relying on Application.Driver.
/// </summary>
/// <param name="width">Width of the driver buffer</param>
/// <param name="height">Height of the driver buffer</param>
/// <returns>A configured IFakeDriver instance</returns>
protected static IDriver CreateFakeDriver (int width = 80, int height = 25)
{
var output = new FakeOutput ();
DriverImpl driver = new (
new FakeInputProcessor (null),
new OutputBufferImpl (),
output,
new AnsiRequestScheduler (new AnsiResponseParser ()),
new SizeMonitorImpl (output));
driver.SetScreenSize (width, height);
return driver;
}
}