From f8a4b2271de9e733ce0d763175c03b50f4b80dd3 Mon Sep 17 00:00:00 2001 From: Davide Piccinini Date: Thu, 29 Jun 2023 21:32:58 +0200 Subject: [PATCH] Add unit test to ensure code coverage --- .../Unit/Widgets/TreeTests.cs | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs b/src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs index c731af9..73912a0 100644 --- a/src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs +++ b/src/Tests/Spectre.Console.Tests/Unit/Widgets/TreeTests.cs @@ -72,4 +72,57 @@ public class TreeTests // Then result.ShouldBeOfType(); } + + [Fact] + [Expectation("Render_NoChildren_OfCollapsed")] + public void Should_Render_Tree_With_No_Child_Of_Collapsed_Nodes_Correctly() + { + // Given + var console = new TestConsole(); + var tree = new Tree(new Text("Root node")); + var node1 = new TreeNode(new Text("Node level 1")); + node1.AddNode(new TreeNode(new Text("Node level 2"))); + tree.AddNode(node1); + node1.Expanded = false; + + // When + console.Write(tree); + + // Then + console.Output.SplitLines() + .Select(x => x.Trim()) + .ToArray() + .ShouldBeEquivalentTo(new[] + { + "Root node", + "└── Node level 1", + string.Empty, + }); + } + + [Fact] + [Expectation("Render_NoChildren_IfRouteCollapsed")] + public void Should_Render_Tree_With_No_Child_If_Route_Collapsed_Correctly() + { + // Given + var console = new TestConsole(); + var tree = new Tree(new Text("Root node")); + var node1 = new TreeNode(new Text("Node level 1")); + node1.AddNode(new TreeNode(new Text("Node level 2"))); + tree.AddNode(node1); + tree.Expanded = false; + + // When + console.Write(tree); + + // Then + console.Output.SplitLines() + .Select(x => x.Trim()) + .ToArray() + .ShouldBeEquivalentTo(new[] + { + "Root node", + string.Empty, + }); + } }