mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-16 06:06:36 +08:00
项目结构调整
This commit is contained in:
@@ -0,0 +1,342 @@
|
||||
namespace Fluent.Tests.Integration
|
||||
{
|
||||
using System.Windows.Media;
|
||||
using Fluent.Tests.Helper;
|
||||
using Fluent.Tests.TestClasses;
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class InRibbonGalleryIntegrationTests
|
||||
{
|
||||
[Test]
|
||||
public void Opening_And_Closing_DropDown_Should_Not_Change_Size_For_Fixed_Item_Width()
|
||||
{
|
||||
var ribbonGroupsContainer = new RibbonGroupsContainer
|
||||
{
|
||||
Height = RibbonTabControl.DefaultContentHeight,
|
||||
ReduceOrder = "(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup)"
|
||||
};
|
||||
|
||||
var groupBox = new RibbonGroupBox
|
||||
{
|
||||
Name = "MyGroup",
|
||||
BorderBrush = Brushes.Red
|
||||
};
|
||||
|
||||
ribbonGroupsContainer.Children.Add(groupBox);
|
||||
|
||||
var firstInRibbonGallery = new InRibbonGallery
|
||||
{
|
||||
MinItemsInRow = 1,
|
||||
MaxItemsInRow = 5,
|
||||
ItemWidth = 50,
|
||||
ItemHeight = 18,
|
||||
GroupBy = "Group",
|
||||
ResizeMode = ContextMenuResizeMode.Both,
|
||||
ItemsSource = this.sampleDataItemsForFixedWidth
|
||||
};
|
||||
|
||||
groupBox.Items.Add(firstInRibbonGallery);
|
||||
|
||||
var secondInRibbonGallery = new InRibbonGallery
|
||||
{
|
||||
MinItemsInRow = 1,
|
||||
MaxItemsInRow = 5,
|
||||
ItemWidth = 50,
|
||||
ItemHeight = 18,
|
||||
GroupBy = "Group",
|
||||
ResizeMode = ContextMenuResizeMode.Both,
|
||||
ItemsSource = this.sampleDataItemsForFixedWidth
|
||||
};
|
||||
|
||||
groupBox.Items.Add(secondInRibbonGallery);
|
||||
|
||||
using (new TestRibbonWindow(ribbonGroupsContainer))
|
||||
{
|
||||
UIHelper.DoEvents();
|
||||
|
||||
ribbonGroupsContainer.Width = 520;
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
|
||||
// open and close first
|
||||
{
|
||||
firstInRibbonGallery.IsDropDownOpen = true;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(0));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
|
||||
firstInRibbonGallery.IsDropDownOpen = false;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
}
|
||||
|
||||
// open and close second
|
||||
{
|
||||
secondInRibbonGallery.IsDropDownOpen = true;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(0));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
|
||||
secondInRibbonGallery.IsDropDownOpen = false;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
}
|
||||
|
||||
++ribbonGroupsContainer.Width;
|
||||
}
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(219));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(456));
|
||||
|
||||
ribbonGroupsContainer.Width = 560;
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(269));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(269));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(5));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(5));
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(556));
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Opening_And_Closing_DropDown_Should_Not_Change_Size_For_Dynamic_Item_Width()
|
||||
{
|
||||
var ribbonGroupsContainer = new RibbonGroupsContainer
|
||||
{
|
||||
Height = RibbonTabControl.DefaultContentHeight,
|
||||
ReduceOrder = "(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup),(MyGroup)"
|
||||
};
|
||||
|
||||
var groupBox = new RibbonGroupBox
|
||||
{
|
||||
Name = "MyGroup",
|
||||
BorderBrush = Brushes.Red
|
||||
};
|
||||
|
||||
ribbonGroupsContainer.Children.Add(groupBox);
|
||||
|
||||
var firstInRibbonGallery = new InRibbonGallery
|
||||
{
|
||||
MinItemsInRow = 1,
|
||||
MaxItemsInRow = 5,
|
||||
ItemHeight = 18,
|
||||
GroupBy = "Group",
|
||||
ResizeMode = ContextMenuResizeMode.Both,
|
||||
ItemsSource = this.sampleDataItemsForDynamicWidth
|
||||
};
|
||||
|
||||
groupBox.Items.Add(firstInRibbonGallery);
|
||||
|
||||
var secondInRibbonGallery = new InRibbonGallery
|
||||
{
|
||||
MinItemsInRow = 1,
|
||||
MaxItemsInRow = 5,
|
||||
ItemHeight = 18,
|
||||
GroupBy = "Group",
|
||||
ResizeMode = ContextMenuResizeMode.Both,
|
||||
ItemsSource = this.sampleDataItemsForDynamicWidth
|
||||
};
|
||||
|
||||
groupBox.Items.Add(secondInRibbonGallery);
|
||||
|
||||
using (new TestRibbonWindow(ribbonGroupsContainer))
|
||||
{
|
||||
UIHelper.DoEvents();
|
||||
|
||||
ribbonGroupsContainer.Width = 620;
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
|
||||
// open and close first
|
||||
{
|
||||
firstInRibbonGallery.IsDropDownOpen = true;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(0));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
|
||||
firstInRibbonGallery.IsDropDownOpen = false;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
}
|
||||
|
||||
// open and close second
|
||||
{
|
||||
secondInRibbonGallery.IsDropDownOpen = true;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(0));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
|
||||
secondInRibbonGallery.IsDropDownOpen = false;
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
}
|
||||
|
||||
++ribbonGroupsContainer.Width;
|
||||
}
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(247));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(3));
|
||||
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(512));
|
||||
|
||||
ribbonGroupsContainer.Width = 670;
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(323));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(323));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(4));
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(664));
|
||||
|
||||
ribbonGroupsContainer.Width = 900;
|
||||
|
||||
UIHelper.DoEvents();
|
||||
|
||||
Assert.That(firstInRibbonGallery.ActualWidth, Is.EqualTo(399));
|
||||
Assert.That(secondInRibbonGallery.ActualWidth, Is.EqualTo(399));
|
||||
Assert.That(firstInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(5));
|
||||
Assert.That(secondInRibbonGallery.CurrentGalleryPanelState.GalleryPanel.MaxItemsInRow, Is.EqualTo(5));
|
||||
Assert.That(groupBox.ActualWidth, Is.EqualTo(816));
|
||||
}
|
||||
}
|
||||
|
||||
private readonly SampleDataItem[] sampleDataItemsForFixedWidth =
|
||||
{
|
||||
new SampleDataItem("A", "Blue"),
|
||||
new SampleDataItem("A", "Brown"),
|
||||
new SampleDataItem("A", "Gray"),
|
||||
new SampleDataItem("A", "Green"),
|
||||
new SampleDataItem("A", "Orange"),
|
||||
|
||||
new SampleDataItem("B", "Pink"),
|
||||
new SampleDataItem("B", "Red"),
|
||||
new SampleDataItem("B", "Yellow")
|
||||
};
|
||||
|
||||
private readonly SampleDataItem[] sampleDataItemsForDynamicWidth =
|
||||
{
|
||||
new SampleDataItem("A", "Blue"),
|
||||
new SampleDataItem("A", "Brown"),
|
||||
new SampleDataItem("A", "Hallo text text"),
|
||||
new SampleDataItem("A", "Green"),
|
||||
new SampleDataItem("A", "Orange"),
|
||||
|
||||
new SampleDataItem("B", "Pink"),
|
||||
new SampleDataItem("B", "Red"),
|
||||
new SampleDataItem("B", "Yellow")
|
||||
};
|
||||
|
||||
private class SampleDataItem
|
||||
{
|
||||
public SampleDataItem(string group, string text)
|
||||
{
|
||||
this.Group = group;
|
||||
this.Text = text;
|
||||
}
|
||||
|
||||
public string Group { get; }
|
||||
|
||||
public string Text { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public override string ToString()
|
||||
{
|
||||
return this.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user