Browse Source

Added [GenerateEnumExtensionMethods] to all Layout enums

Tig 1 năm trước cách đây
mục cha
commit
0a60ce3440

+ 4 - 1
Terminal.Gui/View/Layout/AddOrSubtract.cs

@@ -1,8 +1,11 @@
-namespace Terminal.Gui;
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
+namespace Terminal.Gui;
 
 /// <summary>
 ///     Describes whether an operation should add or subtract values.
 /// </summary>
+[GenerateEnumExtensionMethods]
 public enum AddOrSubtract
 {
     /// <summary>

+ 4 - 0
Terminal.Gui/View/Layout/DimPercentMode.cs

@@ -1,8 +1,12 @@
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
 namespace Terminal.Gui;
 
 /// <summary>
 /// Indicates the mode for a <see cref="DimPercent"/> object.
 /// </summary>
+[GenerateEnumExtensionMethods]
+
 public enum DimPercentMode
 {
     /// <summary>

+ 1 - 8
Terminal.Gui/View/Layout/DimView.cs

@@ -45,14 +45,7 @@ public class DimView : Dim
             throw new NullReferenceException ();
         }
 
-        string dimString = Dimension switch
-                           {
-                               Dimension.Height => "Height",
-                               Dimension.Width => "Width",
-                               _ => "unknown"
-                           };
-
-        return $"View({dimString},{Target})";
+        return $"View({Dimension},{Target})";
     }
 
     internal override int GetAnchor (int size)

+ 4 - 0
Terminal.Gui/View/Layout/Dimension.cs

@@ -1,8 +1,12 @@
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
 namespace Terminal.Gui;
 
 /// <summary>
 ///     Indicates the dimension for <see cref="Dim"/> operations.
 /// </summary>
+
+[GenerateEnumExtensionMethods]
 public enum Dimension
 {
     /// <summary>

+ 3 - 0
Terminal.Gui/View/Layout/LayoutStyle.cs

@@ -1,3 +1,5 @@
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
 namespace Terminal.Gui;
 
 /// <summary>
@@ -13,6 +15,7 @@ namespace Terminal.Gui;
 ///         time.
 ///     </para>
 /// </summary>
+[GenerateEnumExtensionMethods]
 public enum LayoutStyle
 {
     /// <summary>

+ 2 - 9
Terminal.Gui/View/Layout/PosView.cs

@@ -33,21 +33,14 @@ public class PosView (View view, Side side) : Pos
     /// <inheritdoc/>
     public override string ToString ()
     {
-        string sideString = Side switch
-                            {
-                                Side.Left => "left",
-                                Side.Top => "top",
-                                Side.Right => "right",
-                                Side.Bottom => "bottom",
-                                _ => "unknown"
-                            };
+        string sideString = Side.ToString ();
 
         if (Target == null)
         {
             throw new NullReferenceException (nameof (Target));
         }
 
-        return $"View(side={sideString},target={Target})";
+        return $"View(Side={sideString},Target={Target})";
     }
 
     internal override int GetAnchor (int size)

+ 4 - 0
Terminal.Gui/View/Layout/Side.cs

@@ -1,8 +1,12 @@
+using Terminal.Gui.Analyzers.Internal.Attributes;
+
 namespace Terminal.Gui;
 
 /// <summary>
 ///     Indicates the side for <see cref="Pos"/> operations.
 /// </summary>
+///
+[GenerateEnumExtensionMethods]
 public enum Side
 {
     /// <summary>

+ 6 - 6
UnitTests/View/Layout/Pos.Tests.cs

@@ -107,42 +107,42 @@ public class PosTests ()
         Pos pos = Pos.Left (v);
 
         Assert.Equal (
-                      $"View(side=left,target=View(V){v.Frame})",
+                      $"View(Side=Left,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
 
         pos = Pos.X (v);
 
         Assert.Equal (
-                      $"View(side=left,target=View(V){v.Frame})",
+                      $"View(Side=Left,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
 
         pos = Pos.Top (v);
 
         Assert.Equal (
-                      $"View(side=top,target=View(V){v.Frame})",
+                      $"View(Side=Top,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
 
         pos = Pos.Y (v);
 
         Assert.Equal (
-                      $"View(side=top,target=View(V){v.Frame})",
+                      $"View(Side=Top,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
 
         pos = Pos.Right (v);
 
         Assert.Equal (
-                      $"View(side=right,target=View(V){v.Frame})",
+                      $"View(Side=Right,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
 
         pos = Pos.Bottom (v);
 
         Assert.Equal (
-                      $"View(side=bottom,target=View(V){v.Frame})",
+                      $"View(Side=Bottom,Target=View(V){v.Frame})",
                       pos.ToString ()
                      );
     }

+ 35 - 35
UnitTests/View/Layout/Pos.ViewTests.cs

@@ -37,24 +37,24 @@ public class PosViewTests (ITestOutputHelper output)
         Pos pos;
 
         // Pos.Left
-        side = "left";
+        side = "Left";
         testInt = 0;
         testRect = Rectangle.Empty;
         pos = Left (new ());
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         pos = Left (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         testRect = new (1, 2, 3, 4);
         pos = Left (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         // Pos.Left(win) + 0
         pos = Left (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -64,7 +64,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Left (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -74,29 +74,29 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Left (new () { Frame = testRect }) - testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
         // Pos.X
-        side = "left";
+        side = "Left";
         testInt = 0;
         testRect = Rectangle.Empty;
         pos = X (new ());
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         pos = X (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         testRect = new (1, 2, 3, 4);
         pos = X (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         // Pos.X(win) + 0
         pos = X (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -106,7 +106,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = X (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -116,29 +116,29 @@ public class PosViewTests (ITestOutputHelper output)
         pos = X (new () { Frame = testRect }) - testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
         // Pos.Top
-        side = "top";
+        side = "Top";
         testInt = 0;
         testRect = Rectangle.Empty;
         pos = Top (new ());
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         pos = Top (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         testRect = new (1, 2, 3, 4);
         pos = Top (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         // Pos.Top(win) + 0
         pos = Top (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -148,7 +148,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Top (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -158,29 +158,29 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Top (new () { Frame = testRect }) - testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
         // Pos.Y
-        side = "top";
+        side = "Top";
         testInt = 0;
         testRect = Rectangle.Empty;
         pos = Y (new ());
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         pos = Y (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         testRect = new (1, 2, 3, 4);
         pos = Y (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         // Pos.Y(win) + 0
         pos = Y (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -190,7 +190,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Y (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -200,29 +200,29 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Y (new () { Frame = testRect }) - testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
         // Pos.Bottom
-        side = "bottom";
+        side = "Bottom";
         testRect = Rectangle.Empty;
         testInt = 0;
         pos = Bottom (new ());
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         pos = Bottom (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         testRect = new (1, 2, 3, 4);
         pos = Bottom (new () { Frame = testRect });
-        Assert.Equal ($"View(side={side},target=View(){testRect})", pos.ToString ());
+        Assert.Equal ($"View(Side={side},Target=View(){testRect})", pos.ToString ());
 
         // Pos.Bottom(win) + 0
         pos = Bottom (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -232,7 +232,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Bottom (new () { Frame = testRect }) + testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );
 
@@ -242,7 +242,7 @@ public class PosViewTests (ITestOutputHelper output)
         pos = Bottom (new () { Frame = testRect }) - testInt;
 
         Assert.Equal (
-                      $"Combine(View(side={side},target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
+                      $"Combine(View(Side={side},Target=View(){testRect}){(testInt < 0 ? '-' : '+')}Absolute({testInt}))",
                       pos.ToString ()
                      );