using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Xunit; using Xunit.Abstractions; namespace Terminal.Gui.ViewTests { public class PanelViewTests { readonly ITestOutputHelper output; public PanelViewTests (ITestOutputHelper output) { this.output = output; } [Fact] public void Constructor_Defaults () { var pv = new PanelView (); Assert.False (pv.CanFocus); Assert.False (pv.Visible); Assert.False (pv.UsePanelFrame); Assert.Null (pv.Child); pv = new PanelView (new Label ("This is a test.")); Assert.False (pv.CanFocus); Assert.True (pv.Visible); Assert.False (pv.UsePanelFrame); Assert.NotNull (pv.Child); Assert.NotNull (pv.Border); Assert.NotNull (pv.Child.Border); } [Fact] public void Child_Sets_To_Null_Remove_From_Subviews_PanelView () { var pv = new PanelView (new Label ("This is a test.")); Assert.NotNull (pv.Child); Assert.Single (pv.Subviews [0].Subviews); pv.Child = null; Assert.Null (pv.Child); Assert.Empty (pv.Subviews [0].Subviews); } [Fact] public void Add_View_Also_Sets_Child () { var pv = new PanelView (); Assert.Null (pv.Child); Assert.Empty (pv.Subviews [0].Subviews); pv.Add (new Label ("This is a test.")); Assert.NotNull (pv.Child); Assert.Single (pv.Subviews [0].Subviews); } [Fact] public void Add_More_Views_Remove_Last_Child_Before__Only_One_Is_Allowed () { var pv = new PanelView (new Label ("This is a test.")); Assert.NotNull (pv.Child); Assert.Single (pv.Subviews [0].Subviews); Assert.IsType