Browse Source

Fix window sizing tests.

We need to make sure the window is being measured the correct number of times to know that the measure pass is correct.
Steven Kirk 5 years ago
parent
commit
df6dc0abb7
1 changed files with 8 additions and 5 deletions
  1. 8 5
      tests/Avalonia.Controls.UnitTests/WindowTests.cs

+ 8 - 5
tests/Avalonia.Controls.UnitTests/WindowTests.cs

@@ -352,7 +352,8 @@ namespace Avalonia.Controls.UnitTests
 
                 target.Show();
 
-                Assert.Equal(new Size(100, 50), child.MeasureSize);
+                Assert.Equal(1, child.MeasureSizes.Count);
+                Assert.Equal(new Size(100, 50), child.MeasureSizes[0]);
             }
         }
 
@@ -373,7 +374,8 @@ namespace Avalonia.Controls.UnitTests
 
                 target.Show();
 
-                Assert.Equal(new Size(550, 450), child.MeasureSize);
+                Assert.Equal(1, child.MeasureSizes.Count);
+                Assert.Equal(new Size(550, 450), child.MeasureSizes[0]);
             }
         }
 
@@ -393,7 +395,8 @@ namespace Avalonia.Controls.UnitTests
 
                 target.Show();
 
-                Assert.Equal(Size.Infinity, child.MeasureSize);
+                Assert.Equal(1, child.MeasureSizes.Count);
+                Assert.Equal(Size.Infinity, child.MeasureSizes[0]);
             }
         }
 
@@ -549,11 +552,11 @@ namespace Avalonia.Controls.UnitTests
 
         private class ChildControl : Control
         {
-            public Size MeasureSize { get; private set; }
+            public List<Size> MeasureSizes { get; } = new List<Size>();
 
             protected override Size MeasureOverride(Size availableSize)
             {
-                MeasureSize = availableSize;
+                MeasureSizes.Add(availableSize);
                 return base.MeasureOverride(availableSize);
             }
         }