|
@@ -0,0 +1,281 @@
|
|
|
+using Terminal.Gui;
|
|
|
+using NStack;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Xml.Linq;
|
|
|
+using Terminal.Gui.Graphs;
|
|
|
+using Xunit;
|
|
|
+using Xunit.Abstractions;
|
|
|
+//using GraphViewTests = Terminal.Gui.Views.GraphViewTests;
|
|
|
+
|
|
|
+// Alias Console to MockConsole so we don't accidentally use Console
|
|
|
+using Console = Terminal.Gui.FakeConsole;
|
|
|
+
|
|
|
+namespace Terminal.Gui.CoreTests {
|
|
|
+ public class ThicknessTests {
|
|
|
+
|
|
|
+ readonly ITestOutputHelper output;
|
|
|
+
|
|
|
+ public ThicknessTests (ITestOutputHelper output)
|
|
|
+ {
|
|
|
+ this.output = output;
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Constructor_Defaults ()
|
|
|
+ {
|
|
|
+ var t = new Thickness ();
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Empty_Is_empty ()
|
|
|
+ {
|
|
|
+ var t = Thickness.Empty;
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Constructor_Width ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1);
|
|
|
+ Assert.Equal (1, t.Left);
|
|
|
+ Assert.Equal (1, t.Top);
|
|
|
+ Assert.Equal (1, t.Right);
|
|
|
+ Assert.Equal (1, t.Bottom);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Constructor_params ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.Equal (1, t.Left);
|
|
|
+ Assert.Equal (2, t.Top);
|
|
|
+ Assert.Equal (3, t.Right);
|
|
|
+ Assert.Equal (4, t.Bottom);
|
|
|
+
|
|
|
+ t = new Thickness (0, 0, 0, 0);
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+
|
|
|
+ t = new Thickness (-1, 0, 0, 0);
|
|
|
+ Assert.Equal (-1, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Vertical_get ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.Equal (6, t.Vertical);
|
|
|
+
|
|
|
+ t = new Thickness (0);
|
|
|
+ Assert.Equal (0, t.Vertical);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Horizontal_get ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.Equal (4, t.Horizontal);
|
|
|
+
|
|
|
+ t = new Thickness (0);
|
|
|
+ Assert.Equal (0, t.Horizontal);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Vertical_set ()
|
|
|
+ {
|
|
|
+ var t = new Thickness ();
|
|
|
+ t.Vertical = 10;
|
|
|
+ Assert.Equal (10, t.Vertical);
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (5, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (5, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Horizontal);
|
|
|
+
|
|
|
+ t.Vertical = 11;
|
|
|
+ Assert.Equal (10, t.Vertical);
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (5, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (5, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Horizontal);
|
|
|
+
|
|
|
+ t.Vertical = 1;
|
|
|
+ Assert.Equal (0, t.Vertical);
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Horizontal);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void Horizontal_set ()
|
|
|
+ {
|
|
|
+ var t = new Thickness ();
|
|
|
+ t.Horizontal = 10;
|
|
|
+ Assert.Equal (10, t.Horizontal);
|
|
|
+ Assert.Equal (5, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (5, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Vertical);
|
|
|
+
|
|
|
+ t.Horizontal = 11;
|
|
|
+ Assert.Equal (10, t.Horizontal);
|
|
|
+ Assert.Equal (5, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (5, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Vertical);
|
|
|
+
|
|
|
+ t.Horizontal = 1;
|
|
|
+ Assert.Equal (0, t.Horizontal);
|
|
|
+ Assert.Equal (0, t.Left);
|
|
|
+ Assert.Equal (0, t.Top);
|
|
|
+ Assert.Equal (0, t.Right);
|
|
|
+ Assert.Equal (0, t.Bottom);
|
|
|
+ Assert.Equal (0, t.Vertical);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void GetInnerRectTest ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ var r = new Rect (10, 20, 30, 40);
|
|
|
+ var r2 = t.GetInnerRect (r);
|
|
|
+ Assert.Equal (11, r2.X);
|
|
|
+ Assert.Equal (22, r2.Y);
|
|
|
+ Assert.Equal (26, r2.Width);
|
|
|
+ Assert.Equal (34, r2.Height);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact (), AutoInitShutdown]
|
|
|
+ public void DrawTests ()
|
|
|
+ {
|
|
|
+ ((FakeDriver)Application.Driver).SetBufferSize (60, 60);
|
|
|
+ var t = new Thickness (0, 0, 0, 0);
|
|
|
+ var r = new Rect (5, 5, 40, 15);
|
|
|
+ ConsoleDriver.Diagnostics |= ConsoleDriver.DiagnosticFlags.FramePadding;
|
|
|
+ Application.Driver.FillRect (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows), ' ');
|
|
|
+ t.Draw (r, "Test");
|
|
|
+ ConsoleDriver.Diagnostics = ConsoleDriver.DiagnosticFlags.Off;
|
|
|
+ TestHelpers.AssertDriverContentsWithFrameAre (@"
|
|
|
+ Test (Left=0,Top=0,Right=0,Bottom=0)", output);
|
|
|
+
|
|
|
+
|
|
|
+ t = new Thickness (1, 1, 1, 1);
|
|
|
+ r = new Rect (5, 5, 40, 15);
|
|
|
+ ConsoleDriver.Diagnostics |= ConsoleDriver.DiagnosticFlags.FramePadding;
|
|
|
+ Application.Driver.FillRect (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows), ' ');
|
|
|
+ t.Draw (r, "Test");
|
|
|
+ ConsoleDriver.Diagnostics = ConsoleDriver.DiagnosticFlags.Off;
|
|
|
+ TestHelpers.AssertDriverContentsWithFrameAre (@"
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ T T
|
|
|
+ TTTest (Left=1,Top=1,Right=1,Bottom=1)TT", output);
|
|
|
+
|
|
|
+ t = new Thickness (1, 2, 3, 4);
|
|
|
+ r = new Rect (5, 5, 40, 15);
|
|
|
+ ConsoleDriver.Diagnostics |= ConsoleDriver.DiagnosticFlags.FramePadding;
|
|
|
+ Application.Driver.FillRect (new Rect (0,0, Application.Driver.Cols, Application.Driver.Rows), ' ');
|
|
|
+ t.Draw (r, "Test");
|
|
|
+ ConsoleDriver.Diagnostics = ConsoleDriver.DiagnosticFlags.Off;
|
|
|
+ TestHelpers.AssertDriverContentsWithFrameAre (@"
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ T TTT
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ TTTest (Left=1,Top=2,Right=3,Bottom=4)TT", output);
|
|
|
+
|
|
|
+
|
|
|
+ t = new Thickness (-1, 1, 1, 1);
|
|
|
+ r = new Rect (5, 5, 40, 15);
|
|
|
+ ConsoleDriver.Diagnostics |= ConsoleDriver.DiagnosticFlags.FramePadding;
|
|
|
+ Application.Driver.FillRect (new Rect (0, 0, Application.Driver.Cols, Application.Driver.Rows), ' ');
|
|
|
+ t.Draw (r, "Test");
|
|
|
+ ConsoleDriver.Diagnostics = ConsoleDriver.DiagnosticFlags.Off;
|
|
|
+ TestHelpers.AssertDriverContentsWithFrameAre (@"
|
|
|
+ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ T
|
|
|
+ TTest (Left=-1,Top=1,Right=1,Bottom=1)TT", output);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void EqualsTest ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ var t2 = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.True (t.Equals (t2));
|
|
|
+ Assert.True (t == t2);
|
|
|
+ Assert.False (t != t2);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void ToStringTest ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.Equal ("(Left=1,Top=2,Right=3,Bottom=4)", t.ToString ());
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact ()]
|
|
|
+ public void GetHashCodeTest ()
|
|
|
+ {
|
|
|
+ var t = new Thickness (1, 2, 3, 4);
|
|
|
+ Assert.Equal (t.GetHashCode (), t.GetHashCode ());
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|