Skip to content

Commit 33e2684

Browse files
committed
Improving tests
1 parent 6e1a956 commit 33e2684

File tree

1 file changed

+92
-53
lines changed

1 file changed

+92
-53
lines changed
Lines changed: 92 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Fluent.Tests.Controls;
22

33
using System.Linq;
4+
using System.Windows.Controls;
5+
using Fluent.Tests.Helper;
46
using Fluent.Tests.TestClasses;
57
using NUnit.Framework;
68
using Size = System.Windows.Size;
@@ -9,7 +11,7 @@ namespace Fluent.Tests.Controls;
911
public class RibbonTabsContainerTests
1012
{
1113
//private static readonly Size zeroSize = default;
12-
private const double ReferenceWidth = 326;
14+
private const double ReferenceWidth = 320;
1315

1416
private const double ReferenceHeight = 25;
1517

@@ -27,36 +29,38 @@ public void Empty()
2729
[Test]
2830
public void With_One_Tab()
2931
{
30-
var container = new RibbonTabsContainer();
32+
var tabsContainer = new RibbonTabsContainer();
3133
var tabItem = new RibbonTabItem();
32-
container.Children.Add(tabItem);
34+
tabsContainer.Children.Add(tabItem);
35+
36+
var container = new ContentControl { Content = tabsContainer, Width = ReferenceWidth };
3337

34-
using (new TestRibbonWindow(container) { Width = ReferenceWidth })
38+
using (new TestRibbonWindow(container))
3539
{
36-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(18, ReferenceHeight)));
40+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(18, ReferenceHeight)));
3741

3842
tabItem.Header = "ABC";
3943

40-
container.UpdateLayout();
44+
tabsContainer.UpdateLayout();
4145

42-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(42, ReferenceHeight)));
46+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(42, ReferenceHeight)));
4347
}
4448
}
4549

4650
[Test]
4751
public void With_Many_Tab()
4852
{
49-
var container = new RibbonTabsContainer();
53+
var tabsContainer = new RibbonTabsContainer();
5054

5155
var longestTab = new RibbonTabItem { Header = "Longest header text" };
5256
var secondLongestTab = new RibbonTabItem { Header = "Header text" };
5357
var middleTab = new RibbonTabItem { Header = "Header" };
5458
var smallTab = new RibbonTabItem { Header = "Text" };
5559

56-
container.Children.Add(longestTab);
57-
container.Children.Add(secondLongestTab);
58-
container.Children.Add(middleTab);
59-
container.Children.Add(smallTab);
60+
tabsContainer.Children.Add(longestTab);
61+
tabsContainer.Children.Add(secondLongestTab);
62+
tabsContainer.Children.Add(middleTab);
63+
tabsContainer.Children.Add(smallTab);
6064

6165
var childrenWidths = new[]
6266
{
@@ -66,36 +70,26 @@ public void With_Many_Tab()
6670
smallTab
6771
}.Select(x => x.DesiredSize.Width);
6872

69-
using (var testWindow = new TestRibbonWindow(container) { Width = ReferenceWidth })
70-
{
71-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(310, ReferenceHeight)));
72-
Assert.That(container.ExtentWidth, Is.EqualTo(container.ViewportWidth));
73-
74-
Assert.That(childrenWidths, Is.EquivalentTo(new[]
75-
{
76-
129,
77-
83,
78-
57,
79-
41
80-
}));
73+
var container = new ContentControl { Content = tabsContainer, Width = ReferenceWidth };
8174

82-
container.Measure(new Size(300, ReferenceHeight));
83-
84-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(300, ReferenceHeight)));
85-
Assert.That(container.ExtentWidth, Is.EqualTo(container.ViewportWidth));
75+
using (var testWindow = new TestRibbonWindow(container))
76+
{
77+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(317, ReferenceHeight)));
78+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
8679

8780
Assert.That(childrenWidths, Is.EquivalentTo(new[]
8881
{
89-
129,
90-
83,
91-
57,
92-
41
82+
131,
83+
85,
84+
59,
85+
42
9386
}));
9487

95-
container.Measure(new Size(299, ReferenceHeight));
88+
container.Width = 300;
89+
UIHelper.DoEvents();
9690

97-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(299, ReferenceHeight)));
98-
Assert.That(container.ExtentWidth, Is.EqualTo(container.ViewportWidth));
91+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(300, ReferenceHeight)));
92+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
9993

10094
Assert.That(childrenWidths, Is.EquivalentTo(new[]
10195
{
@@ -105,10 +99,11 @@ public void With_Many_Tab()
10599
38
106100
}));
107101

108-
container.Measure(new Size(290, ReferenceHeight));
102+
container.Width = 299;
103+
UIHelper.DoEvents();
109104

110-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(290, ReferenceHeight)));
111-
Assert.That(container.ExtentWidth, Is.EqualTo(container.ViewportWidth));
105+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(299, ReferenceHeight)));
106+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
112107

113108
Assert.That(childrenWidths, Is.EquivalentTo(new[]
114109
{
@@ -118,10 +113,11 @@ public void With_Many_Tab()
118113
38
119114
}));
120115

121-
container.Measure(new Size(289, ReferenceHeight));
116+
container.Width = 290;
117+
UIHelper.DoEvents();
122118

123-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(289, ReferenceHeight)));
124-
Assert.That(container.ExtentWidth, Is.EqualTo(container.ViewportWidth));
119+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(290, ReferenceHeight)));
120+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
125121

126122
Assert.That(childrenWidths, Is.EquivalentTo(new[]
127123
{
@@ -131,10 +127,25 @@ public void With_Many_Tab()
131127
36
132128
}));
133129

134-
container.Measure(new Size(230, ReferenceHeight));
130+
container.Width = 289;
131+
UIHelper.DoEvents();
132+
133+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(289, ReferenceHeight)));
134+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
135+
136+
Assert.That(childrenWidths, Is.EquivalentTo(new[]
137+
{
138+
123,
139+
77,
140+
53,
141+
36
142+
}));
143+
144+
container.Width = 230;
145+
UIHelper.DoEvents();
135146

136-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(230, ReferenceHeight)));
137-
Assert.That(container.ExtentWidth, Is.EqualTo(285));
147+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(230, ReferenceHeight)));
148+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(285));
138149

139150
Assert.That(childrenWidths, Is.EquivalentTo(new[]
140151
{
@@ -144,10 +155,11 @@ public void With_Many_Tab()
144155
34
145156
}));
146157

147-
container.Measure(new Size(150, ReferenceHeight));
158+
container.Width = 150;
159+
UIHelper.DoEvents();
148160

149-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(150, ReferenceHeight)));
150-
Assert.That(container.ExtentWidth, Is.EqualTo(285));
161+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(150, ReferenceHeight)));
162+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(285));
151163

152164
Assert.That(childrenWidths, Is.EquivalentTo(new[]
153165
{
@@ -157,10 +169,11 @@ public void With_Many_Tab()
157169
34
158170
}));
159171

160-
container.Measure(new Size(130, ReferenceHeight));
172+
container.Width = 130;
173+
UIHelper.DoEvents();
161174

162-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(130, ReferenceHeight)));
163-
Assert.That(container.ExtentWidth, Is.EqualTo(285));
175+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(130, ReferenceHeight)));
176+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(285));
164177

165178
Assert.That(childrenWidths, Is.EquivalentTo(new[]
166179
{
@@ -170,10 +183,11 @@ public void With_Many_Tab()
170183
34
171184
}));
172185

173-
container.Measure(new Size(120, ReferenceHeight));
186+
container.Width = 120;
187+
UIHelper.DoEvents();
174188

175-
Assert.That(container.DesiredSize, Is.EqualTo(new Size(120, ReferenceHeight)));
176-
Assert.That(container.ExtentWidth, Is.EqualTo(282));
189+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(120, ReferenceHeight)));
190+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(282));
177191

178192
Assert.That(childrenWidths, Is.EquivalentTo(new[]
179193
{
@@ -182,6 +196,31 @@ public void With_Many_Tab()
182196
51,
183197
34
184198
}));
199+
200+
container.Width = 300;
201+
UIHelper.DoEvents();
202+
203+
Assert.That(tabsContainer.DesiredSize, Is.EqualTo(new Size(300, ReferenceHeight)));
204+
Assert.That(tabsContainer.ExtentWidth, Is.EqualTo(tabsContainer.ViewportWidth));
205+
206+
Assert.That(childrenWidths, Is.EquivalentTo(new[]
207+
{
208+
127,
209+
81,
210+
55,
211+
37
212+
}));
213+
214+
container.Width = ReferenceWidth;
215+
UIHelper.DoEvents();
216+
217+
Assert.That(childrenWidths, Is.EquivalentTo(new[]
218+
{
219+
131,
220+
85,
221+
59,
222+
42
223+
}));
185224
}
186225
}
187226
}

0 commit comments

Comments
 (0)