Fixes #4374 - Nukes all (?) legacy Driver and Application stuff; revamps tests (#4376)

This commit is contained in:
Tig
2025-11-11 16:29:33 -07:00
committed by GitHub
parent 559dea9239
commit d53fcd7485
310 changed files with 14827 additions and 16911 deletions

View File

@@ -0,0 +1,32 @@
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;
}
}