namespace Spectre.Console.Tests.Unit; [UsesVerify] [ExpectationPath("Widgets/Figlet")] public sealed class FigletTests { [Theory] [InlineData("starwars.flf")] [InlineData("poison.flf")] [Expectation("Load_Stream")] public async Task Should_Load_Font_From_Stream(string fontfile) { // Given var console = new TestConsole().Width(180); var font = FigletFont.Load(EmbeddedResourceReader.LoadResourceStream($"Spectre.Console.Tests/Data/{fontfile}")); var text = new FigletText(font, "Patrik was here"); // When console.Write(text); // Then await Verifier.Verify(console.Output) .UseParameters(fontfile); } [Fact] [Expectation("Render")] public async Task Should_Render_Text_Correctly() { // Given var console = new TestConsole().Width(70); var text = new FigletText(FigletFont.Default, "Patrik was here"); // When console.Write(text); // Then await Verifier.Verify(console.Output); } [Fact] [Expectation("Render_Wrapped")] public async Task Should_Render_Wrapped_Text_Correctly() { // Given var console = new TestConsole().Width(70); var text = new FigletText(FigletFont.Default, "Spectre.Console"); // When console.Write(text); // Then await Verifier.Verify(console.Output); } [Fact] [Expectation("Render_LeftAligned")] public async Task Should_Render_Left_Aligned_Text_Correctly() { // Given var console = new TestConsole().Width(120); var text = new FigletText(FigletFont.Default, "Spectre.Console") .Justify(Justify.Left); // When console.Write(text); // Then await Verifier.Verify(console.Output); } [Fact] [Expectation("Render_Centered")] public async Task Should_Render_Centered_Text_Correctly() { // Given var console = new TestConsole().Width(120); var text = new FigletText(FigletFont.Default, "Spectre.Console") .Justify(Justify.Center); // When console.Write(text); // Then await Verifier.Verify(console.Output); } [Fact] [Expectation("Render_RightAligned")] public async Task Should_Render_Right_Aligned_Text_Correctly() { // Given var console = new TestConsole().Width(120); var text = new FigletText(FigletFont.Default, "Spectre.Console") .Justify(Justify.Right); // When console.Write(text); // Then await Verifier.Verify(console.Output); } }