Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/VB/BarsDemo.Wpf/DemoTesting/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/VB/BarsDemo.Wpf/DemoTesting/Fixtures.vb

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