Browse Source

unit tests for topologicalsort errors

Charlie Kindel 5 years ago
parent
commit
3ab20b658d
1 changed files with 28 additions and 0 deletions
  1. 28 0
      UnitTests/ViewTests.cs

+ 28 - 0
UnitTests/ViewTests.cs

@@ -107,5 +107,33 @@ namespace Terminal.Gui {
 
 			// TODO: Add more
 		}
+
+		[Fact]
+		public void TopologicalSort_Missing_Add ()
+		{
+			var root = new View ();
+			var sub1 = new View ();
+			root.Add (sub1);
+			var sub2 = new View ();
+			sub1.Width = Dim.Width(sub2);
+
+			Assert.Throws<InvalidOperationException> (() => root.LayoutSubviews ());
+
+			sub2.Width = Dim.Width (sub1);
+
+			Assert.Throws<InvalidOperationException> (() => root.LayoutSubviews ());
+		}
+
+		[Fact]
+		public void TopologicalSort_Recursive_Ref ()
+		{
+			var root = new View ();
+			var sub1 = new View ();
+			root.Add (sub1);
+			var sub2 = new View ();
+			root.Add (sub2);
+			sub2.Width = Dim.Width (sub2);
+			Assert.Throws<InvalidOperationException> (() => root.LayoutSubviews ());
+		}
 	}
 }