Mini Kabibi Habibi
Imports Microsoft.VisualBasic
Imports DevExpress.Xpf.DemoBase.DemoTesting
Imports System
Imports DevExpress.Xpf.Bars
Imports System.Reflection
Imports DevExpress.Xpf.Core.Native
Imports System.Windows
Imports System.Windows.Controls
Imports DevExpress.Xpf.Editors
Imports DevExpress.Xpf.Core
Imports System.Threading
Namespace BarsDemo.Tests
Public Class BarsCheckAllDemosFixture
Inherits CheckAllDemosFixture
Private skipMemoryLeaksCheckModules() As Type = { }
Protected Overrides Function CheckMemoryLeaks(ByVal moduleType As Type) As Boolean
Return Not EnumeratorHelper.Exists(Of Type)(skipMemoryLeaksCheckModules, moduleType)
End Function
End Class
Public Class BarsDemoModulesAccessor
Inherits DemoModulesAccessor(Of BarsDemoModule)
Public Sub New(ByVal fixture As BaseDemoTestingFixture)
MyBase.New(fixture)
End Sub
Public ReadOnly Property Manager() As BarManager
Get
Return DemoModule.Manager
End Get
End Property
End Class
Public MustInherit Class BaseBarsDemoTestingFixture
Inherits BaseDemoTestingFixture
Private ReadOnly modulesAccessor As BarsDemoModulesAccessor
Public Sub New()
modulesAccessor = New BarsDemoModulesAccessor(Me)
End Sub
Public ReadOnly Property Manager() As BarManager
Get
Return modulesAccessor.Manager
End Get
End Property
End Class
Public Class CheckDemoOptionsFixture
Inherits BaseBarsDemoTestingFixture
Protected Overrides Sub CreateActions()
MyBase.CreateActions()
AddSimpleAction(AddressOf CreateCheckDemosActions)
End Sub
Private Sub CreateCheckDemosActions()
CreateCheckBarPropertiesActions()
CreateCheckItemPropertiesActions()
End Sub
Public ReadOnly Property BarProperties() As BarProperties
Get
Return TryCast(DemoBaseTesting.CurrentDemoModule, BarProperties)
End Get
End Property
Public ReadOnly Property ItemProperties() As ItemProperties
Get
Return TryCast(DemoBaseTesting.CurrentDemoModule, ItemProperties)
End Get
End Property
Private Function GetBarControl(ByVal bar As Bar) As BarControl
Dim en As New VisualTreeEnumerator(Manager)
Do While en.MoveNext()
Dim control As BarControl = TryCast(en.Current, BarControl)
If control IsNot Nothing AndAlso control.Bar Is bar Then
Return control
End If
Loop
Return Nothing
End Function
Private Sub CreateCheckItemPropertiesActions()
AddLoadModuleActions(GetType(ItemProperties))
AddSimpleAction(AddressOf CheckStartupOptions)
AddSimpleAction(AddressOf CheckBarButtonItemProperties)
AddSimpleAction(AddressOf CheckBarCheckItemProperties)
AddSimpleAction(AddressOf CheckBarSplitButtonItemProperties)
AddSimpleAction(AddressOf CheckBarSubItemProperties)
End Sub
Private Sub CheckBaseItemOptions(ByVal link As BarItemLink)
CheckBaseVisibleItemOptions(link)
CheckBaseEnabledItemOptions(link)
CheckBaseItemDisplayMode(link)
CheckBaseCaptionAndGlyphAlignment(link)
CheckBaseItemGlyphSize(link)
End Sub
Private Sub CheckBaseCaptionAndGlyphAlignment(ByVal link As BarItemLink)
ItemProperties.captionGlyphAlignment.SelectedIndex = 0
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualGlyphAlignment = Dock.Left, "link.LinkControl.ActualGlyphAlignment == Dock.Left")
ItemProperties.captionGlyphAlignment.SelectedIndex = 1
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualGlyphAlignment = Dock.Top, "link.LinkControl.ActualGlyphAlignment == Dock.Top")
ItemProperties.captionGlyphAlignment.SelectedIndex = 2
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualGlyphAlignment = Dock.Right, "link.LinkControl.ActualGlyphAlignment == Dock.Right")
ItemProperties.captionGlyphAlignment.SelectedIndex = 3
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualGlyphAlignment = Dock.Bottom, "link.LinkControl.ActualGlyphAlignment == Dock.Bottom")
End Sub
Private Sub CheckBaseItemGlyphSize(ByVal link As BarItemLink)
Assert.IsTrue(ItemProperties.barManager.Bars(0).GlyphSize = GlyphSize.Small, "ItemProperties.barManager1.Bars[0].GlyphSize == GlyphSize.Small")
ItemProperties.glyphSize.SelectedIndex = 0
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.IsLargeGlyph = False, "link.LinkControl.IsLargeGlyph == false")
ItemProperties.glyphSize.SelectedIndex = 1
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.IsLargeGlyph = False, "link.LinkControl.IsLargeGlyph == false")
ItemProperties.glyphSize.SelectedIndex = 2
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.IsLargeGlyph = True, "link.LinkControl.IsLargeGlyph == true")
End Sub
Private Sub CheckBaseItemDisplayMode(ByVal link As BarItemLink)
ItemProperties.displayMode.SelectedIndex = 0
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualShowContent = False, "link.LinkControl.ActualShowContent == false")
Assert.IsTrue(link.LinkControl.ActualShowGlyph = True, "link.LinkControl.ActualShowGlyph == true")
Assert.IsTrue(ItemProperties.captionGlyphAlignment.IsEnabled = False, "ItemProperties.captionGlyphAlignment.IsEnabled == false")
ItemProperties.displayMode.SelectedIndex = 1
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualShowContent = True, "link.LinkControl.ActualShowContent == true")
Assert.IsTrue(link.LinkControl.ActualShowGlyph = False, "link.LinkControl.ActualShowGlyph == false")
Assert.IsTrue(ItemProperties.captionGlyphAlignment.IsEnabled = False, "ItemProperties.captionGlyphAlignment.IsEnabled == false")
ItemProperties.displayMode.SelectedIndex = 2
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.LinkControl.ActualShowContent = True, "link.LinkControl.ActualShowContent == true")
Assert.IsTrue(link.LinkControl.ActualShowGlyph = True, "link.LinkControl.ActualShowGlyph == true")
Assert.IsTrue(ItemProperties.captionGlyphAlignment.IsEnabled = True, "ItemProperties.captionGlyphAlignment.IsEnabled == true")
End Sub
Private Sub CheckBaseEnabledItemOptions(ByVal link As BarItemLink)
Assert.IsTrue(ItemProperties.isEnabledCheck.IsChecked.Value = True, "ItemProperties.isEnabledCheck.IsChecked == true")
Assert.IsTrue(link.IsEnabled = ItemProperties.isEnabledCheck.IsChecked.Value, "link.IsEnabled == ItemProperties.isEnabledCheck.IsChecked")
ItemProperties.isEnabledCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.IsEnabled = ItemProperties.isEnabledCheck.IsChecked.Value, "link.IsEnabled == ItemProperties.isEnabledCheck.IsChecked")
ItemProperties.isEnabledCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.IsEnabled = ItemProperties.isEnabledCheck.IsChecked.Value, "link.IsEnabled == ItemProperties.isEnabledCheck.IsChecked")
End Sub
Private Sub CheckBaseVisibleItemOptions(ByVal link As BarItemLink)
Assert.IsTrue(ItemProperties.isVisibleCheck.IsChecked.Value = True, "ItemProperties.isVisibleCheck.IsChecked == true")
Assert.IsTrue(link.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "link.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.baseProps.IsEnabled = True, "ItemProperties.baseProps.IsEnabled == true")
ItemProperties.isVisibleCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "link.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.baseProps.IsEnabled = False, "ItemProperties.baseProps.IsEnabled == false")
ItemProperties.isVisibleCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(link.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "link.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.baseProps.IsEnabled = True, "ItemProperties.baseProps.IsEnabled == true")
End Sub
Private Sub CheckStartupOptions()
Assert.IsTrue(ItemProperties.ButtonItem Is ItemProperties.barManager.Bars(0).ItemLinks(0), "ItemProperties.ButtonItem == ItemProperties.barManager1.Bars[0].ItemLinks[0]")
Assert.IsTrue(ItemProperties.CheckItem Is ItemProperties.barManager.Bars(0).ItemLinks(1), "ItemProperties.CheckItem == ItemProperties.barManager1.Bars[0].ItemLinks[1]")
Assert.IsTrue(ItemProperties.StaticItem Is ItemProperties.barManager.Bars(1).ItemLinks(0), "ItemProperties.StaticItem == ItemProperties.barManager1.Bars[1].ItemLinks[0]")
Assert.IsTrue(ItemProperties.SplitButtonItem Is ItemProperties.barManager.Bars(0).ItemLinks(2), "ItemProperties.SplitButtonItem == ItemProperties.barManager1.Bars[0].ItemLinks[2]")
Assert.IsTrue(ItemProperties.SubItem Is ItemProperties.barManager.Bars(0).ItemLinks(3), "ItemProperties.SubItem == ItemProperties.barManager1.Bars[0].ItemLinks[3]")
Assert.IsTrue(ItemProperties.SelectedItem Is ItemProperties.ButtonItem, "ItemProperties.SelectedItem == ItemProperties.ButtonItem")
Assert.IsTrue((CType(ItemProperties.newRadioButton.Content, BarItemInfoControl)).Link Is ItemProperties.ButtonItem, "((BarItemInfoControl)ItemProperties.newRadioButton.Content).Link == ItemProperties.ButtonItem")
Assert.IsTrue((CType(ItemProperties.bulletsRadioButton.Content, BarItemInfoControl)).Link Is ItemProperties.CheckItem, "((BarItemInfoControl)ItemProperties.bulletsRadioButton.Content).Link == ItemProperties.CheckItem")
Assert.IsTrue((CType(ItemProperties.fontColorRadioButton.Content, BarItemInfoControl)).Link Is ItemProperties.SplitButtonItem, "((BarItemInfoControl)ItemProperties.fontColorRadioButton.Content).Link == ItemProperties.SplitButtonItem")
Assert.IsTrue((CType(ItemProperties.saveMenuRadioButton.Content, BarItemInfoControl)).Link Is ItemProperties.SubItem, "((BarItemInfoControl)ItemProperties.saveMenuRadioButton.Content).Link == ItemProperties.SubItem")
Assert.IsTrue((CType(ItemProperties.infoRadioButton.Content, BarItemInfoControl)).Link Is ItemProperties.StaticItem, "((BarItemInfoControl)ItemProperties.infoRadioButton.Content).Link == ItemProperties.StaticItem")
Assert.IsTrue(ItemProperties.newRadioButton.IsChecked.Value = True, "ItemProperties.newRadioButton.IsChecked.Value == true")
End Sub
Private Sub CheckBarButtonItemProperties()
CheckBaseItemOptions(ItemProperties.ButtonItem)
End Sub
Private Sub CheckBarCheckItemProperties()
ItemProperties.SelectedItem = ItemProperties.CheckItem
UpdateLayoutAndDoEvents()
CheckBaseItemOptions(ItemProperties.CheckItem)
End Sub
Private Sub CheckBarSubItemProperties()
ItemProperties.SelectedItem = ItemProperties.SubItem
UpdateLayoutAndDoEvents()
CheckBaseItemOptions(ItemProperties.SubItem)
CheckBarSubItemVisibleOptions()
End Sub
Private Sub CheckBarSubItemVisibleOptions()
Assert.IsTrue(ItemProperties.isVisibleCheck.IsChecked.Value = True, "ItemProperties.isVisibleCheck.IsChecked == true")
Assert.IsTrue(ItemProperties.SubItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SubItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.subProps.IsEnabled = True, "ItemProperties.subProps.IsEnabled == true")
ItemProperties.isVisibleCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(ItemProperties.SubItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SubItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.subProps.IsEnabled = False, "ItemProperties.subProps.IsEnabled == false")
ItemProperties.isVisibleCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(ItemProperties.SubItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SubItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.subProps.IsEnabled = True, "ItemProperties.subProps.IsEnabled == true")
End Sub
Private Sub CheckBarSplitButtonItemProperties()
ItemProperties.SelectedItem = ItemProperties.SplitButtonItem
UpdateLayoutAndDoEvents()
CheckBaseItemOptions(ItemProperties.SplitButtonItem)
ToggleActAsDropDown()
ToggleArrowAlignment()
CheckBarSplitButtonItemVisibleItemOptions()
End Sub
Private Sub CheckBarSplitButtonItemVisibleItemOptions()
Assert.IsTrue(ItemProperties.isVisibleCheck.IsChecked.Value = True, "ItemProperties.isVisibleCheck.IsChecked == true")
Assert.IsTrue(ItemProperties.SplitButtonItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SplitButtonItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.splitProps.IsEnabled = True, "ItemProperties.splitProps.IsEnabled == true")
ItemProperties.isVisibleCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(ItemProperties.SplitButtonItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SplitButtonItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.splitProps.IsEnabled = False, "ItemProperties.splitProps.IsEnabled == false")
ItemProperties.isVisibleCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(ItemProperties.SplitButtonItem.ActualIsVisible = ItemProperties.isVisibleCheck.IsChecked.Value, "ItemProperties.SplitButtonItem.ActualIsVisible == ItemProperties.isVisibleCheck.IsChecked")
Assert.IsTrue(ItemProperties.splitProps.IsEnabled = True, "ItemProperties.splitProps.IsEnabled == true")
End Sub
Private Sub ToggleArrowAlignment()
ItemProperties.arrowAlignment.SelectedIndex = 0
UpdateLayoutAndDoEvents()
Assert.IsTrue((CType(ItemProperties.SplitButtonItem.Item, BarSplitButtonItem)).ArrowAlignment = Dock.Right, "((BarSplitButtonItem)ItemProperties.SplitButtonItem.Item).ArrowAlignment == Dock.Right")
ItemProperties.arrowAlignment.SelectedIndex = 1
UpdateLayoutAndDoEvents()
Assert.IsTrue((CType(ItemProperties.SplitButtonItem.Item, BarSplitButtonItem)).ArrowAlignment = Dock.Bottom, "((BarSplitButtonItem)ItemProperties.SplitButtonItem.Item).ArrowAlignment == Dock.Bottom")
End Sub
Private Sub ToggleActAsDropDown()
ItemProperties.actAsDropDownCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue((CType(ItemProperties.SplitButtonItem.Item, BarSplitButtonItem)).ActAsDropDown = True, "ItemProperties.SplitButtonItem.ActAsDropDown == true")
Assert.IsTrue(ItemProperties.arrowAlignment.IsEnabled = False, "ItemProperties.arrowAlignment.IsEnabled == false")
ItemProperties.actAsDropDownCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue((CType(ItemProperties.SplitButtonItem.Item, BarSplitButtonItem)).ActAsDropDown = False, "ItemProperties.SplitButtonItem.ActAsDropDown == false")
Assert.IsTrue(ItemProperties.arrowAlignment.IsEnabled = True, "ItemProperties.arrowAlignment.IsEnabled == true")
End Sub
Private Sub CreateCheckBarPropertiesActions()
AddLoadModuleActions(GetType(BarProperties))
AddSimpleAction(AddressOf CheckBarPropertiesStartup)
AddSimpleAction(AddressOf ToggleVisible)
AddSimpleAction(AddressOf ToggleEnabled)
AddSimpleAction(AddressOf ToggleBarType)
AddSimpleAction(AddressOf ToggleContainerName)
AddSimpleAction(AddressOf ToggleUseWholeRow)
AddSimpleAction(AddressOf ToggleShowDragWidget)
AddSimpleAction(AddressOf ToggleShowCustomizationButton)
AddSimpleAction(AddressOf ToggleAllowCollapseAndIsCollapsed)
End Sub
Private Sub ToggleAllowCollapseAndIsCollapsed()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.useWholeRowCheck.IsChecked = False
UpdateLayoutAndDoEvents()
BarProperties.allowCollapseCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.AllowCollapse = True, "bar1.AllowCollapse == true")
BarProperties.isCollapsedCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.IsCollapsed = True, "bar1.IsCollapsed == true")
BarProperties.isCollapsedCheck.IsChecked = False
BarProperties.allowCollapseCheck.IsChecked = False
UpdateLayoutAndDoEvents()
End Sub
Private Sub ToggleShowCustomizationButton()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.showCustomizationButtonCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.IsAllowQuickCustomization = False, "bar1.AllowQuickCustomization == false")
BarProperties.showCustomizationButtonCheck.IsChecked = True
UpdateLayoutAndDoEvents()
End Sub
Private Sub ToggleShowDragWidget()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.showDragWidgetCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.ShowDragWidget = False, "bar1.ShowDragWidget == false")
BarProperties.showDragWidgetCheck.IsChecked = True
UpdateLayoutAndDoEvents()
End Sub
Private Sub ToggleUseWholeRow()
End Sub
Private Sub ToggleContainerName()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.containerName.SelectedIndex = 1
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.DockInfo.Container.Name = "Bottom_Container", "bar1.DockInfo.Container.Name == Bottom_Container")
BarProperties.containerName.SelectedIndex = 2
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.DockInfo.Container.Name = "Left_Container", "bar1.DockInfo.Container.Name == Left_Container")
BarProperties.containerName.SelectedIndex = 3
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.DockInfo.Container.Name = "Right_Container", "bar1.DockInfo.Container.Name == Right_Container")
BarProperties.containerName.SelectedIndex = 0
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.DockInfo.Container.Name = "Top_Container", "bar1.DockInfo.Container.Name == Top_Container")
End Sub
Private Sub ToggleEnabled()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.isEnabledCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(bc.IsEnabled = False, "bc.IsEnabled == false")
BarProperties.isEnabledCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bc.IsEnabled = True, "bc.IsEnabled == true")
End Sub
Private Sub ToggleVisible()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.isVisibleCheck.IsChecked = False
UpdateLayoutAndDoEvents()
Assert.IsTrue(bc.Visibility = Visibility.Collapsed, "bc.Visibility == Visibility.Collapsed")
Assert.IsTrue(BarProperties.props.IsEnabled = False, "BarProperties.props.IsEnabled == false")
BarProperties.isVisibleCheck.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bc.Visibility = Visibility.Visible, "bc.Visibility == Visibility.Visible")
Assert.IsTrue(BarProperties.props.IsEnabled = True, "BarProperties.props.IsEnabled == true")
End Sub
Private Sub ToggleBarType()
Dim bar1 As Bar = BarProperties.bar1
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
BarProperties.barTypeMainMenu.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.IsMainMenu = True, "bar1.IsMainMenu == true")
BarProperties.barTypeStatusBar.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.IsStatusBar = True, "bar1.IsStatusBar == true")
Assert.IsTrue(bar1.DockInfo.ContainerName = "Bottom_Container", "bar1.DockInfo.ContainerName == Bottom_Container")
BarProperties.barTypeBar.IsChecked = True
UpdateLayoutAndDoEvents()
Assert.IsTrue(bar1.IsStatusBar = False, "bar1.IsStatusBar == false")
Assert.IsTrue(bar1.IsMainMenu = False, "bar1.IsMainMenu == false")
Assert.IsTrue(bar1.DockInfo.ContainerName = "Top_Container", "bar1.DockInfo.ContainerName == Top_Container")
End Sub
Private Sub CheckBarPropertiesStartup()
Dim bar As Bar = BarProperties.bar1
Assert.IsTrue(BarProperties.Bar Is bar, "Bar Property initialization failed")
Assert.IsTrue(BarProperties.barTypeBar.IsChecked.Value = True, "BarType selected index")
Assert.IsTrue(BarProperties.isVisibleCheck.IsChecked.Value = True, "BarProperties.isVisibleCheck should be true")
Assert.IsTrue(BarProperties.isEnabledCheck.IsChecked.Value = True, "BarProperties.isEnabledCheck should be true")
Assert.IsTrue(bar.IsEnabled = True, "BarProperties.bar1.IsEnabled should be true")
Assert.IsTrue(bar.Visible = True, "BarProperties.bar1.Visible should be true")
Assert.IsTrue(BarProperties.allowCollapseCheck.IsChecked.Value = False, "BarProperties.allowCollapseCheck.IsChecked should be false")
Assert.IsTrue(BarProperties.isCollapsedCheck.IsChecked.Value = False, "BarProperties.isCollapsedCheck.IsChecked should be false")
Assert.IsTrue(BarProperties.useWholeRowCheck.IsChecked.Value = True, "arProperties.useWholeRowCheck.IsChecked should be true")
Dim str As String = CStr(BarProperties.containerName.EditValue)
Assert.IsTrue(str.Equals("Top_Container"), "BarProperties.containerName.EditValue should Top_Container")
Dim bc As BarControl = GetBarControl(BarProperties.bar1)
Assert.IsTrue(bc.Visibility = System.Windows.Visibility.Visible, "BarControl should be visible")
Assert.IsTrue(bc.IsEnabled, "BarControl should be enabled")
Assert.IsTrue(bc.MaxGlyphSize = New Size(32, 32), "BarControl.MaxGlyphSize should be 32,32")
Assert.IsTrue(bc.Bar.ShowDragWidget = True, "BarProperties.bar1.ShowDragWidget should be true")
Assert.IsTrue(bc.Bar.IsAllowQuickCustomization = True, "BarProperties.bar1.AllowQuickCustomization should be true")
Assert.IsTrue(bc.Bar.IsUseWholeRow = True, "BarProperties.bar1.UseWholeRow should be true")
Assert.IsTrue(bc.Bar.AllowCollapse = False, "BarProperties.bar1.AllowCollapse should be false")
Assert.IsTrue(bc.Bar.IsCollapsed = False, "BarProperties.bar1.IsCollapsed should be false")
Assert.IsTrue(bar.DockInfo.Container.Name = "Top_Container", "bar1.DockInfo.Container.Name should Top_Container")
End Sub
End Class
Public Class BugFixesFixture
Inherits BaseBarsDemoTestingFixture
Protected Overrides Sub CreateActions()
MyBase.CreateActions()
CreateSimplePadDemoActions()
End Sub
#Region "SimplePadDemo"
Private Sub CreateSimplePadDemoActions()
AddSimpleAction(AddressOf SimplePadDemo_B185791)
AddSimpleAction(AddressOf SimplePadDemo_B185808_B186210)
End Sub
Private Sub WaitFor(ByVal timeSpan As TimeSpan, ByVal element As UIElement)
Dim targetDateTime As DateTime = DateTime.Now.Add(timeSpan)
Do While DateTime.Now <= targetDateTime
If element IsNot Nothing Then
DispatcherHelper.UpdateLayoutAndDoEvents(element)
Else
DispatcherHelper.DoEvents()
End If
Loop
End Sub
Private Sub SimplePadDemo_B185791()
AddLoadModuleActions(GetType(SimplePad))
AddSimpleAction(Function() AnonymousMethod1())
End Sub
Private Function AnonymousMethod1() As Boolean
Dim menuItem As BarSubItem = TryCast(Manager.Items("bsFormat"), BarSubItem)
Assert.IsNotNull(menuItem)
Dim menuLink As BarSubItemLink = TryCast(Manager.MainMenu.ItemLinks.Find(Function(link) (CType(link, BarItemLink)).Item.Equals(menuItem)), BarSubItemLink)
Assert.IsNotNull(menuLink)
Dim menuLinkControl As BarSubItemLinkControl = TryCast(menuLink.LinkControl, BarSubItemLinkControl)
Assert.IsNotNull(menuLinkControl)
MouseActions.MouseMove(menuLinkControl, 10, 10)
WaitFor(New TimeSpan(0,0,0,0,100), Manager)
MouseActions.LeftMouseDown(menuLinkControl, 10, 10)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseUp(menuLinkControl, 10, 10)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsTrue(menuLinkControl.IsPopupOpen)
Dim editItem As BarEditItem = TryCast(Manager.Items("eFontFamily"), BarEditItem)
Assert.IsNotNull(editItem)
Dim editLink As BarEditItemLink = TryCast(menuItem.ItemLinks.Find(Function(link) (CType(link, BarItemLink)).Item.Equals(editItem)), BarEditItemLink)
Assert.IsNotNull(editLink)
Dim editLinkControl As BarEditItemLinkControl = TryCast(editLink.LinkControl, BarEditItemLinkControl)
Assert.IsNotNull(editLinkControl)
Dim splitItem As BarSplitButtonItem = TryCast(Manager.Items("bFontColor"), BarSplitButtonItem)
Assert.IsNotNull(splitItem)
Dim splitLink As BarSplitButtonItemLink = TryCast(menuItem.ItemLinks.Find(Function(link) (CType(link, BarItemLink)).Item.Equals(splitItem)), BarSplitButtonItemLink)
Assert.IsNotNull(splitLink)
Dim splitLinkControl As BarSplitButtonItemLinkControl = TryCast(splitLink.LinkControl, BarSplitButtonItemLinkControl)
Assert.IsNotNull(splitLinkControl)
Dim menuPopupControl As SubMenuBarControl = LayoutHelper.FindParentObject(Of SubMenuBarControl)(splitLinkControl)
Assert.IsNotNull(menuPopupControl)
Dim splitArrowControl As ArrowControl = TryCast(LayoutHelper.FindElement(splitLinkControl, Function(element) (TypeOf element Is ArrowControl)), ArrowControl)
Assert.IsNotNull(splitArrowControl)
Dim editor As ComboBoxEdit = TryCast(LayoutHelper.FindElement(editLinkControl, Function(element) (TypeOf element Is ComboBoxEdit)), ComboBoxEdit)
Assert.IsNotNull(editor)
Dim pt1 As Point = splitArrowControl.TranslatePoint(New Point(2, 2), menuPopupControl)
Dim pt2 As Point = menuPopupControl.TranslatePoint(pt1, Manager)
MouseActions.MouseMove(Manager, pt2.X, pt2.Y)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseDown(Manager, pt2.X, pt2.Y)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseUp(Manager, pt2.X, pt2.Y)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsTrue(menuLinkControl.IsPopupOpen)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsTrue(splitLinkControl.IsPopupOpen)
Dim pt3 As Point = editor.TranslatePoint(New Point(editor.ActualWidth - 5, 5), menuPopupControl)
Dim pt4 As Point = menuPopupControl.TranslatePoint(pt3, Manager)
MouseActions.LeftMouseDown(Manager, pt4.X, pt4.Y)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseUp(Manager, pt4.X, pt4.Y)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsTrue(menuLinkControl.IsPopupOpen)
Assert.IsTrue(editor.IsPopupOpen)
Assert.IsFalse(splitLinkControl.IsPopupOpen)
MouseActions.LeftMouseDown(CType(Manager.Child, FrameworkElement), 15, 15)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseUp(CType(Manager.Child, FrameworkElement), 15, 15)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsTrue(menuLinkControl.IsPopupOpen)
Assert.IsFalse(editor.IsPopupOpen)
Assert.IsFalse(splitLinkControl.IsPopupOpen)
MouseActions.LeftMouseDown(menuLinkControl, menuLinkControl.ActualWidth + 15, 15)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
MouseActions.LeftMouseUp(menuLinkControl, menuLinkControl.ActualWidth + 15, 15)
WaitFor(New TimeSpan(0, 0, 0, 0, 100), Manager)
Assert.IsFalse(menuLinkControl.IsPopupOpen)
Assert.IsFalse(editor.IsPopupOpen)
Assert.IsFalse(splitLinkControl.IsPopupOpen)
Return True
End Function
Private Sub SimplePadDemo_B185808_B186210()
AddLoadModuleActions(GetType(SimplePad))
AddSimpleAction(Function() AnonymousMethod2())
End Sub
Private Function AnonymousMethod2() As Boolean
Dim bar As Bar = Manager.Bars.GetBarByCaption("Format")
Assert.IsNotNull(bar)
Dim barControl As BarControl = TryCast(LayoutHelper.FindElement(Manager, Function(element) (TypeOf element Is BarControl) AndAlso (CType(element, BarControl)).Bar.Equals(bar)), BarControl)
Assert.IsNotNull(barControl)
Dim dragWidget As DragWidget = TryCast(LayoutHelper.FindElement(barControl, Function(element) (TypeOf element Is DragWidget)), DragWidget)
Assert.IsNotNull(dragWidget)
Dim pt1 As Point = dragWidget.TranslatePoint(New Point(5, 5), Manager)
Dim pt2 As Point = dragWidget.TranslatePoint(New Point(5, 100), Manager)
MouseActions.LeftMouseDown(Manager, pt1.X, pt1.Y)
MouseActions.MouseMove(Manager, pt2.X, pt2.Y)
MouseActions.LeftMouseUp(Manager, pt2.X, pt2.Y)
Assert.IsTrue(bar.DockInfo.Container.IsFloating)
Dim menu As BarSplitButtonItem = TryCast(Manager.Items("bFontColor"), BarSplitButtonItem)
Assert.IsNotNull(menu)
Dim menuLink As BarSplitButtonItemLink = TryCast(bar.ItemLinks.Find(Function(link) (TypeOf link Is BarItemLink) AndAlso (CType(link, BarItemLink)).Item IsNot Nothing AndAlso (CType(link, BarItemLink)).Item.Equals(menu)), BarSplitButtonItemLink)
Assert.IsNotNull(menuLink)
Dim menuLinkControl As BarSplitButtonItemLinkControl = TryCast(menuLink.LinkControl, BarSplitButtonItemLinkControl)
Assert.IsNotNull(menuLinkControl)
menuLinkControl.ShowPopup()
DispatcherHelper.DoEvents()
Assert.IsTrue(menuLinkControl.IsPopupOpen)
MouseActions.LeftMouseDown(Manager, pt2.X + 40, pt2.Y + 15)
MouseActions.LeftMouseUp(Manager, pt2.X + 20, pt2.Y + 10)
Assert.IsFalse(menuLinkControl.IsPopupOpen)
menuLinkControl.ShowPopup()
DispatcherHelper.DoEvents()
Assert.IsTrue(menuLinkControl.IsPopupOpen)
MouseActions.LeftMouseDown(Manager, pt2.X + 40, pt2.Y + 15)
MouseActions.MouseMove(Manager, pt1.X, pt1.Y)
MouseActions.LeftMouseUp(Manager, pt1.X, pt1.Y)
Assert.IsFalse(menuLinkControl.IsPopupOpen)
Assert.IsFalse(bar.DockInfo.Container.IsFloating)
menuLinkControl = TryCast(menuLink.LinkControl, BarSplitButtonItemLinkControl)
Assert.IsNotNull(menuLinkControl)
menuLinkControl.ShowPopup()
DispatcherHelper.DoEvents()
Assert.IsTrue(menuLinkControl.IsPopupOpen)
Dim barControl1 As BarControl = TryCast(LayoutHelper.FindElement(Manager, Function(element) (TypeOf element Is BarControl) AndAlso (CType(element, BarControl)).Bar.Equals(bar)), BarControl)
Assert.IsNotNull(barControl1)
Dim dragWidget1 As DragWidget = TryCast(LayoutHelper.FindElement(barControl1, Function(element) (TypeOf element Is DragWidget)), DragWidget)
Assert.IsNotNull(dragWidget1)
pt1 = dragWidget1.TranslatePoint(New Point(5, 5), Manager)
pt2 = dragWidget1.TranslatePoint(New Point(5, 100), Manager)
MouseActions.LeftMouseDown(Manager, pt1.X, pt1.Y)
MouseActions.MouseMove(Manager, pt2.X, pt2.Y)
MouseActions.LeftMouseUp(Manager, pt2.X, pt2.Y)
Assert.IsFalse(menuLinkControl.IsPopupOpen)
Assert.IsTrue(bar.DockInfo.Container.IsFloating)
menuLinkControl = TryCast(menuLink.LinkControl, BarSplitButtonItemLinkControl)
Assert.IsNotNull(menuLinkControl)
menuLinkControl.ShowPopup()
DispatcherHelper.DoEvents()
Assert.IsTrue(menuLinkControl.IsPopupOpen)
menuLinkControl.ClosePopup()
Assert.IsFalse(menuLinkControl.IsPopupOpen)
Return True
End Function
#End Region
End Class
End Namespace