Mini Kabibi Habibi

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

Imports Microsoft.VisualBasic
Imports DevExpress.Xpf.DemoBase.DemoTesting
Imports System.Threading
Imports System.Windows.Threading
Imports DevExpress.Xpf.Core.Native
Imports System
Imports DevExpress.Xpf.NavBar
Imports System.Collections
Imports System.Windows.Controls
Imports System.Windows
Imports System.Windows.Input
Imports DevExpress.Xpf.Editors
Imports System.Windows.Controls.Primitives
Imports System.Windows.Media.Animation
Imports DevExpress.Xpf.Core

Namespace NavBarDemo.Tests
	Public Class NavBarCheckAllDemosFixture
		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
		Protected Overrides Sub CreateSwitchAllThemesActions()
			MyBase.CreateSwitchAllThemesActions()
		End Sub
	End Class
	#Region "NavBarDemoModulesAccessor"
	Public Class NavBarDemoModulesAccessor
		Inherits DemoModulesAccessor(Of NavBarDemoModule)
		Public Sub New(ByVal fixture As BaseDemoTestingFixture)
			MyBase.New(fixture)
		End Sub
		Public ReadOnly Property NavBarControl() As NavBarControl
			Get
				Return DemoModule.navBarControl
			End Get
		End Property
		Public ReadOnly Property View() As NavBarViewBase
			Get
				Return NavBarControl.View
			End Get
		End Property
		Public ReadOnly Property ExplorerBarView() As ExplorerBarView
			Get
				Return CType(View, ExplorerBarView)
			End Get
		End Property
		Public ReadOnly Property NavigationPaneView() As NavigationPaneView
			Get
				Return CType(View, NavigationPaneView)
			End Get
		End Property
		Public ReadOnly Property SideBarView() As SideBarView
			Get
				Return CType(View, SideBarView)
			End Get
		End Property
		Public ReadOnly Property GroupsAndItemsModule() As GroupsAndItems
			Get
				Return CType(DemoModule, GroupsAndItems)
			End Get
		End Property
	End Class
	#End Region
	Public MustInherit Class BaseNavBarTestingFixture
		Inherits BaseDemoTestingFixture
		Private ReadOnly modulesAccessor As NavBarDemoModulesAccessor
		Public Sub New()
			modulesAccessor = New NavBarDemoModulesAccessor(Me)
		End Sub
		Public ReadOnly Property NavBarControl() As NavBarControl
			Get
				Return modulesAccessor.NavBarControl
			End Get
		End Property
		Public ReadOnly Property View() As NavBarViewBase
			Get
				Return modulesAccessor.View
			End Get
		End Property
		Public ReadOnly Property ExplorerBarView() As ExplorerBarView
			Get
				Return modulesAccessor.ExplorerBarView
			End Get
		End Property
		Public ReadOnly Property NavigationPaneView() As NavigationPaneView
			Get
				Return modulesAccessor.NavigationPaneView
			End Get
		End Property
		Public ReadOnly Property SideBarView() As SideBarView
			Get
				Return modulesAccessor.SideBarView
			End Get
		End Property
		Public ReadOnly Property GroupsAndItemsModule() As GroupsAndItems
			Get
				Return CType(DemoBaseTesting.CurrentDemoModule, GroupsAndItems)
			End Get
		End Property
		Public ReadOnly Property Events() As Events
			Get
				Return CType(DemoBaseTesting.CurrentDemoModule, Events)
			End Get
		End Property
	End Class
	Public Class CheckDemoOptionsFixture
		Inherits BaseNavBarTestingFixture
		Protected Overrides Sub CreateActions()
			MyBase.CreateActions()
			AddSimpleAction(AddressOf CreateCheckDemosActions)
		End Sub
		Private Sub CreateCheckDemosActions()
			CreateCheckTableViewDemoActions()
			CreateCheckLayoutCustomizationDemoActions()
			CreateEventsDemoActions()
			CreateSetCurrentDemoActions(Nothing, False)
		End Sub
		#Region "GroupsAndItems"
		Private Sub CreateCheckTableViewDemoActions()
			AddLoadModuleActions(GetType(GroupsAndItems))
			AddSimpleAction(Function() AnonymousMethod1())
		End Sub
		
		Private Function AnonymousMethod1() As Boolean
			Assert.AreEqual(0, GroupsAndItemsModule.viewsList.SelectedIndex)
			AssertGroupsAndItemsModuleView(GetType(ExplorerBarView))
			GroupsAndItemsModule.viewsList.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			AssertGroupsAndItemsModuleView(GetType(NavigationPaneView))
			GroupsAndItemsModule.viewsList.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			AssertGroupsAndItemsModuleView(GetType(SideBarView))
			Return True
		End Function
		Private Sub AssertGroupsAndItemsModuleView(ByVal viewType As Type)
			Dim images As ArrayList = (CType(GroupsAndItemsModule.FindResource("Images"), ArrayList))
			Assert.AreEqual(viewType, View.GetType())
			Assert.IsTrue(GroupsAndItemsModule.addGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.addNewItemButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)

			Assert.AreEqual(0, GroupsAndItemsModule.newGroupImageStyleList.SelectedIndex)
			Assert.AreEqual(0, GroupsAndItemsModule.newItemImageList.SelectedIndex)

			Assert.AreEqual(2, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 1", NavBarControl.Groups(0).Header)
			Assert.AreEqual(1, NavBarControl.Groups(0).Items.Count)
			Assert.AreEqual("Item 1", (CType(NavBarControl.Groups(0).Items(0), NavBarItem)).Content)
			Assert.AreEqual("Group 2", NavBarControl.Groups(1).Header)
			Assert.AreEqual(1, NavBarControl.Groups(1).Items.Count)
			Assert.AreEqual("Item 1", (CType(NavBarControl.Groups(1).Items(0), NavBarItem)).Content)

			UIAutomationActions.ClickButton(GroupsAndItemsModule.addGroupButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(3, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 3", NavBarControl.Groups(2).Header)
			Assert.AreEqual(0, NavBarControl.Groups(2).Items.Count)
			Assert.AreEqual((CType(images(0), Image)).Source, NavBarControl.Groups(2).ImageSource)
			Assert.AreEqual(16R, NavBarControl.Groups(2).ItemImageSettings.Height)
			Assert.AreEqual(16R, NavBarControl.Groups(2).ItemImageSettings.Width)

			GroupsAndItemsModule.newItemImageList.SelectedIndex = 1
			GroupsAndItemsModule.newGroupImageStyleList.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addGroupButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(4, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 4", NavBarControl.Groups(3).Header)
			Assert.AreEqual(0, NavBarControl.Groups(3).Items.Count)
			Assert.AreEqual((CType(images(1), Image)).Source, NavBarControl.Groups(3).ImageSource)
			Assert.AreEqual(32R, NavBarControl.Groups(3).ItemImageSettings.Height)
			Assert.AreEqual(32R, NavBarControl.Groups(3).ItemImageSettings.Width)
			Assert.AreEqual(System.Windows.HorizontalAlignment.Center, NavBarControl.Groups(3).ItemLayoutSettings.ImageHorizontalAlignment)
			Assert.AreEqual(System.Windows.HorizontalAlignment.Center, NavBarControl.Groups(3).ItemLayoutSettings.TextHorizontalAlignment)
			Assert.AreEqual(Dock.Top, NavBarControl.Groups(3).ItemLayoutSettings.ImageDocking)

			Assert.IsTrue(GroupsAndItemsModule.addGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.addNewItemButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)

			NavBarControl.ActiveGroup = NavBarControl.Groups(2)
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addNewItemButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(1, NavBarControl.Groups(2).Items.Count)
			Assert.AreEqual("Item 1", (CType(NavBarControl.Groups(2).Items(0), NavBarItem)).Content)
			Assert.AreEqual((CType(images(1), Image)).Source, (CType(NavBarControl.Groups(2).Items(0), NavBarItem)).ImageSource)

			GroupsAndItemsModule.newItemImageList.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addNewItemButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(2, NavBarControl.Groups(2).Items.Count)
			Assert.AreEqual("Item 2", (CType(NavBarControl.Groups(2).Items(1), NavBarItem)).Content)
			Assert.AreEqual((CType(images(2), Image)).Source, (CType(NavBarControl.Groups(2).Items(1), NavBarItem)).ImageSource)

			Assert.IsTrue(GroupsAndItemsModule.addGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.addNewItemButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)

			NavBarControl.ActiveGroup.SelectedItem = CType(NavBarControl.Groups(2).Items(1), NavBarItem)
			UpdateLayoutAndDoEvents()
			Assert.IsTrue(GroupsAndItemsModule.addGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.addNewItemButton.IsEnabled)
			Assert.IsTrue(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)

			UIAutomationActions.ClickButton(GroupsAndItemsModule.deleteSelectedItemButton)
			UpdateLayoutAndDoEvents()
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			Assert.AreEqual(1, NavBarControl.Groups(2).Items.Count)
			Assert.AreEqual("Item 1", (CType(NavBarControl.Groups(2).Items(0), NavBarItem)).Content)

			NavBarControl.ActiveGroup.SelectedItem = CType(NavBarControl.Groups(2).Items(0), NavBarItem)
			UpdateLayoutAndDoEvents()
			Assert.IsTrue(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			UIAutomationActions.ClickButton(GroupsAndItemsModule.deleteSelectedItemButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(0, NavBarControl.Groups(2).Items.Count)

			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			UIAutomationActions.ClickButton(GroupsAndItemsModule.deleteLastGroupButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(3, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 3", NavBarControl.Groups(2).Header)

			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			UIAutomationActions.ClickButton(GroupsAndItemsModule.deleteLastGroupButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(2, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 2", NavBarControl.Groups(1).Header)

			Assert.IsTrue(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			UIAutomationActions.ClickButton(GroupsAndItemsModule.deleteLastGroupButton)
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(1, NavBarControl.Groups.Count)
			Assert.AreEqual("Group 1", NavBarControl.Groups(0).Header)

			Assert.IsFalse(GroupsAndItemsModule.deleteLastGroupButton.IsEnabled)
			Assert.IsFalse(GroupsAndItemsModule.deleteSelectedItemButton.IsEnabled)
			NavBarControl.Groups.RemoveAt(0)

			GroupsAndItemsModule.newGroupImageStyleList.SelectedIndex = 0
			GroupsAndItemsModule.newItemImageList.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addGroupButton)
			UpdateLayoutAndDoEvents()
			NavBarControl.ActiveGroup = NavBarControl.Groups(0)
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addNewItemButton)
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addGroupButton)
			UpdateLayoutAndDoEvents()
			NavBarControl.ActiveGroup = NavBarControl.Groups(1)
			UpdateLayoutAndDoEvents()
			UIAutomationActions.ClickButton(GroupsAndItemsModule.addNewItemButton)
			UpdateLayoutAndDoEvents()
		End Sub
		#End Region
		Private Sub CreateCheckLayoutCustomizationDemoActions()
			AddLoadModuleActions(GetType(LayoutCustomization))
		End Sub
		Private Sub CreateEventsDemoActions()
			AddLoadModuleActions(GetType(Events))
			AddSimpleAction(AddressOf ClearEventCheckBoxes)

			AddCheckCommonEventsActions()
			AddCheckExplorerBarGroupExpandedEventsActions()

			AddSimpleAction(Function() AnonymousMethod2())
			AddCheckCommonEventsActions()
			AddCheckNavigationPaneExpandedEventsActions()

			AddSimpleAction(Function() AnonymousMethod3())
			AddCheckCommonEventsActions()

			AddSimpleAction(Function() AnonymousMethod4())
			AddCheckCommonEventsActions()
			AddCheckExplorerBarGroupExpandedEventsActions()
		End Sub
		
		Private Function AnonymousMethod2() As Boolean
			Events.viewsList.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Return True
		End Function
		
		Private Function AnonymousMethod3() As Boolean
			Events.viewsList.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			Return True
		End Function
		
		Private Function AnonymousMethod4() As Boolean
			Events.viewsList.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Return True
		End Function

		Private Sub AddCheckCommonEventsActions()
			Dim collapsingStoryboard As Storyboard = CreateDXExpanderAnimation(0)
			Dim expandingStoryboard As Storyboard = CreateDXExpanderAnimation(1)
			AddSimpleAction(Function() AnonymousMethod5())
			AddSimpleAction(Function() AnonymousMethod6())
			AddSimpleAction(Function() AnonymousMethod7())

			AddSimpleAction(Function() AnonymousMethod8())
			AddSimpleAction(Function() AnonymousMethod9())
			AddSimpleAction(Function() AnonymousMethod10())
			AddWaitUntilAnimationInProgress()
			AddSimpleAction(Function() AnonymousMethod11(collapsingStoryboard, expandingStoryboard))
			AddWaitUntilAnimationInProgress()
			AddSimpleAction(Function() AnonymousMethod12(collapsingStoryboard, expandingStoryboard))
			AddWaitUntilAnimationInProgress()
		End Sub
		
		Private Function AnonymousMethod5() As Boolean
			ToggleCheckEditAndRaiseEvent(Events.mouseDownCheckbox, "MouseDown", New MouseButtonEventArgs(Mouse.PrimaryDevice, Environment.TickCount, MouseButton.Left) With {.RoutedEvent = UIElement.PreviewMouseDownEvent})
			Return True
		End Function
		
		Private Function AnonymousMethod6() As Boolean
			ToggleCheckEditAndRaiseEvent(Events.mouseMoveCheckbox, "MouseMove", New MouseEventArgs(Mouse.PrimaryDevice, Environment.TickCount) With {.RoutedEvent = UIElement.MouseMoveEvent})
			Return True
		End Function
		
		Private Function AnonymousMethod7() As Boolean
			ToggleCheckEditAndRaiseEvent(Events.mouseUpCheckbox, "MouseUp", New MouseButtonEventArgs(Mouse.PrimaryDevice, Environment.TickCount, MouseButton.Left) With {.RoutedEvent = UIElement.PreviewMouseUpEvent})
			Return True
		End Function
		
		Private Function AnonymousMethod8() As Boolean
			ToggleCheckEditAndRaiseEvent(Events.clickCheckbox, "Click", New MouseEventArgs(Mouse.PrimaryDevice, Environment.TickCount) With {.RoutedEvent = ButtonBase.ClickEvent})
			Return True
		End Function
		
		Private Function AnonymousMethod9() As Boolean
			ToggleCheckEditAndPerformAction(Events.selectionChangingCheckbox, "ItemSelecting", AddressOf SelectFirstItem, AddressOf SelectSecondItem)
			Return True
		End Function
		
		Private Function AnonymousMethod10() As Boolean
			ToggleCheckEditAndPerformAction(Events.selectionChangedCheckbox, "ItemSelected", AddressOf SelectFirstItem, AddressOf SelectSecondItem)
			Return True
		End Function
		
		Private Function AnonymousMethod11(ByVal collapsingStoryboard As Storyboard, ByVal expandingStoryboard As Storyboard) As Boolean
			NavBarAnimationOptions.SetCollapseStoryboard(Me.NavBarControl.View, collapsingStoryboard)
			NavBarAnimationOptions.SetExpandStoryboard(Me.NavBarControl.View, expandingStoryboard)
			ToggleCheckEditAndPerformAction(Events.activeGroupChangingCheckbox, "ActiveGroupChanging", AddressOf SelectSecondGroup, AddressOf SelectFirstGroup)
			Return True
		End Function
		
		Private Function AnonymousMethod12(ByVal collapsingStoryboard As Storyboard, ByVal expandingStoryboard As Storyboard) As Boolean
			NavBarAnimationOptions.SetCollapseStoryboard(Me.NavBarControl.View, collapsingStoryboard)
			NavBarAnimationOptions.SetExpandStoryboard(Me.NavBarControl.View, expandingStoryboard)
			ToggleCheckEditAndPerformAction(Events.activeGroupChangedCheckbox, "ActiveGroupChanged", AddressOf SelectSecondGroup, AddressOf SelectFirstGroup)
			Return True
		End Function

		Private Sub SelectSecondGroup()
			Events.navBar.ActiveGroup = Events.navBar.Groups(1)
		End Sub
		Private Sub SelectFirstGroup()
			Events.navBar.ActiveGroup = Events.navBar.Groups(0)
		End Sub

		Private Sub SelectFirstItem()
			Events.navBar.ActiveGroup.SelectedItemIndex = 0
		End Sub
		Private Sub SelectSecondItem()
			Events.navBar.ActiveGroup.SelectedItemIndex = 2
		End Sub

		Private Sub AddWaitUntilAnimationInProgress()
			AddConditionAction(AddressOf WaitUntilAnimationInProgressCondition, Nothing)
		End Sub
		Private Function WaitUntilAnimationInProgressCondition() As Boolean
			For Each group As NavBarGroup In Events.navBar.Groups
				If group.IsExpanding OrElse group.IsCollapsing Then
					Return False
				End If
			Next group
			Return True
		End Function
		Private Sub AddCheckExplorerBarGroupExpandedEventsActions()
			AddSimpleAction(Function() AnonymousMethod13())
			AddSimpleAction(Function() AnonymousMethod14())
		End Sub
		
		Private Function AnonymousMethod13() As Boolean
			ToggleCheckEditAndPerformAction(Events.groupExpandedChangingCheckbox, "GroupExpandedChanging", Function() AnonymousMethod15())
			Return True
		End Function
		
		Private Function AnonymousMethod15() As Boolean
			Events.navBar.ActiveGroup.IsExpanded = Not Events.navBar.ActiveGroup.IsExpanded
			Return True
		End Function
		
		Private Function AnonymousMethod14() As Boolean
			ToggleCheckEditAndPerformAction(Events.groupExpandedChangedCheckbox, "GroupExpandedChanged", Function() AnonymousMethod16())
			Return True
		End Function
		
		Private Function AnonymousMethod16() As Boolean
			Events.navBar.ActiveGroup.IsExpanded = Not Events.navBar.ActiveGroup.IsExpanded
			Return True
		End Function
		Private Function CreateDXExpanderAnimation(ByVal toValue As Double) As Storyboard
			Dim stb As New Storyboard()
			Dim da As New DoubleAnimation(toValue, New Duration())
			Storyboard.SetTargetName(da, "PART_DXExpander")
			Storyboard.SetTargetProperty(da, New PropertyPath(DXExpander.AnimationProgressProperty))
			Return stb
		End Function
		Private Sub AddCheckNavigationPaneExpandedEventsActions()
			AddSimpleAction(Function() AnonymousMethod17())
			AddSimpleAction(Function() AnonymousMethod18())
		End Sub
		
		Private Function AnonymousMethod17() As Boolean
			ToggleCheckEditAndPerformAction(Events.navPaneExpandedChangingCheckbox, "NavPaneExpandedChanging", Function() AnonymousMethod19())
			Return True
		End Function
		
		Private Function AnonymousMethod19() As Boolean
			CType(Events.navBar.View, NavigationPaneView).IsExpanded = Not(CType(Events.navBar.View, NavigationPaneView)).IsExpanded
			Return True
		End Function
		
		Private Function AnonymousMethod18() As Boolean
			ToggleCheckEditAndPerformAction(Events.navPaneExpandedChangedCheckbox, "NavPaneExpandedChanged", Function() AnonymousMethod20())
			Return True
		End Function
		
		Private Function AnonymousMethod20() As Boolean
			CType(Events.navBar.View, NavigationPaneView).IsExpanded = Not(CType(Events.navBar.View, NavigationPaneView)).IsExpanded
			Return True
		End Function

		Private Sub ClearEventCheckBoxes()
			Events.mouseDownCheckbox.IsChecked = False
			Events.mouseMoveCheckbox.IsChecked = False
			Events.mouseUpCheckbox.IsChecked = False
			Events.clickCheckbox.IsChecked = False
			Events.selectionChangingCheckbox.IsChecked = False
			Events.selectionChangedCheckbox.IsChecked = False
			Events.activeGroupChangingCheckbox.IsChecked = False
			Events.activeGroupChangedCheckbox.IsChecked = False
			Events.groupExpandedChangingCheckbox.IsChecked = False
			Events.groupExpandedChangedCheckbox.IsChecked = False
			Events.navPaneExpandedChangingCheckbox.IsChecked = False
			Events.navPaneExpandedChangedCheckbox.IsChecked = False
		End Sub
		Private Sub ToggleCheckEditAndPerformAction(ByVal checkEdit As CheckEdit, ByVal message As String, ByVal action As Action)
			ToggleCheckEditAndPerformAction(checkEdit, message, action, Function() AnonymousMethod21())
		End Sub
		
		Private Function AnonymousMethod21() As Boolean
			Return True
		End Function
		Private Sub ToggleCheckEditAndRaiseEvent(ByVal checkEdit As CheckEdit, ByVal message As String, ByVal eventArgs As RoutedEventArgs)
			Dim item As FrameworkElement = HelperActions.FindElementByType(Of NavBarItemControl)(Events.navBar)
			ToggleCheckEditAndPerformAction(checkEdit, message, Function() AnonymousMethod22(eventArgs, item))
		End Sub
		
		Private Function AnonymousMethod22(ByVal eventArgs As RoutedEventArgs, ByVal item As FrameworkElement) As Boolean
			item.RaiseEvent(eventArgs)
			Return True
		End Function
		Private Sub ToggleCheckEditAndPerformAction(ByVal checkEdit As CheckEdit, ByVal message As String, ByVal action As Action, ByVal rollBack As Action)
			action()
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(String.Empty, Events.textBox.Text)
			rollBack()
			UpdateLayoutAndDoEvents()

			checkEdit.IsChecked = True
			action()
			UpdateLayoutAndDoEvents()
			Assert.IsTrue(Events.textBox.Text.Contains(message))
			rollBack()

			UIAutomationActions.ClickButton(Events.clearButton)
			checkEdit.IsChecked = False
			UpdateLayoutAndDoEvents()
		End Sub
	End Class
End Namespace