瀏覽代碼

Started on unit test

Tig 1 年之前
父節點
當前提交
1be3851154
共有 2 個文件被更改,包括 36 次插入0 次删除
  1. 7 0
      UnitTests/TestHelpers.cs
  2. 29 0
      UnitTests/View/DiagnosticsTests.cs

+ 7 - 0
UnitTests/TestHelpers.cs

@@ -69,6 +69,9 @@ public class AutoInitShutdownAttribute : BeforeAfterTestAttribute
     {
         Debug.WriteLine ($"After: {methodUnderTest.Name}");
 
+        // Turn off diagnostic flags in case some test left them on
+        View.Diagnostics = ViewDiagnosticFlags.Off;
+
         if (AutoInit)
         {
             Application.Shutdown ();
@@ -145,6 +148,10 @@ public class SetupFakeDriverAttribute : BeforeAfterTestAttribute
     public override void After (MethodInfo methodUnderTest)
     {
         Debug.WriteLine ($"After: {methodUnderTest.Name}");
+
+        // Turn off diagnostic flags in case some test left them on
+        View.Diagnostics = ViewDiagnosticFlags.Off;
+
         Application.Driver = null;
     }
 

+ 29 - 0
UnitTests/View/DiagnosticsTests.cs

@@ -0,0 +1,29 @@
+#nullable enable
+using Xunit.Abstractions;
+
+namespace Terminal.Gui.ViewTests;
+
+/// <summary>
+/// Tests <see cref="View.Diagnostics"/> static property and <see cref="ViewDiagnosticFlags"/> enum.
+/// </summary>
+/// <param name="output"></param>
+[Trait("Category","Output")]
+public class DiagnosticTests (ITestOutputHelper output)
+{
+    /// <summary>
+    ///    /// Tests <see cref="View.Diagnostics"/> static property and <see cref="ViewDiagnosticFlags"/> enum.
+    ///    /// </summary>
+    [Fact]
+    public void Diagnostics_Sets ()
+    {
+        // View.Diagnostics is a static property that returns the current diagnostic flags.
+        Assert.Equal (ViewDiagnosticFlags.Off, View.Diagnostics);
+    
+        // View.Diagnostics can be set to a new value.
+        View.Diagnostics = ViewDiagnosticFlags.Padding;
+        Assert.Equal (ViewDiagnosticFlags.Padding, View.Diagnostics);
+
+        // Ensure we turn off at the end of the test
+        View.Diagnostics = ViewDiagnosticFlags.Off;
+    }
+}