Explorar o código

Added a Pos.Combine unit test.

BDisp %!s(int64=2) %!d(string=hai) anos
pai
achega
1136514bf8
Modificáronse 1 ficheiros con 35 adicións e 0 borrados
  1. 35 0
      UnitTests/PosTests.cs

+ 35 - 0
UnitTests/PosTests.cs

@@ -1032,5 +1032,40 @@ namespace Terminal.Gui.Core {
 			pos2 = Pos.Function (f2);
 			Assert.NotEqual (pos1, pos2);
 		}
+
+		[Theory, AutoInitShutdown]
+		[InlineData (true)]
+		[InlineData (false)]
+
+		public void PosPercentPlusOne (bool testHorizontal)
+		{
+			var container = new View {
+				Width = 100,
+				Height = 100,
+			};
+
+			var label = new Label {
+				X = testHorizontal ? Pos.Percent (50) + Pos.Percent (10) + 1 : 1,
+				Y = testHorizontal ? 1 : Pos.Percent (50) + Pos.Percent (10) + 1,
+				Width = 10,
+				Height = 10,
+			};
+
+			container.Add (label);
+			Application.Top.Add (container);
+			Application.Top.LayoutSubviews ();
+
+
+			Assert.Equal (100, container.Frame.Width);
+			Assert.Equal (100, container.Frame.Height);
+
+			if (testHorizontal) {
+				Assert.Equal (61, label.Frame.X);
+				Assert.Equal (1, label.Frame.Y);
+			} else {
+				Assert.Equal (1, label.Frame.X);
+				Assert.Equal (61, label.Frame.Y);
+			}
+		}
 	}
 }