public async Task Should_Write_To_Alternate_Screen()
    {
        // Given
        var console = new TestConsole();

        console.EmitAnsiSequences = true;
        console.Profile.Capabilities.AlternateBuffer = true;

        // When
        console.WriteLine("Foo");
        console.AlternateScreen(() =>
        {
            console.WriteLine("Bar");
        });

        // Then
        await Verifier.Verify(console.Output);
    }
    public void Should_Throw_If_Alternative_Buffer_Is_Not_Supported_By_Terminal()
    {
        // Given
        var console = new TestConsole();

        console.Profile.Capabilities.AlternateBuffer = false;

        // When
        var result = Record.Exception(() =>
        {
            console.WriteLine("Foo");
            console.AlternateScreen(() =>
            {
                console.WriteLine("Bar");
            });
        });

        // Then
        result.ShouldNotBeNull();
        result.Message.ShouldBe("Alternate buffers are not supported by your terminal.");
    }