Mini Kabibi Habibi

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

Imports Microsoft.VisualBasic
Imports System
Imports System.Windows
Imports DevExpress.Xpf.Core.Native
Imports DevExpress.Xpf.DemoBase.DemoTesting
Imports DevExpress.Xpf.Docking
Imports DevExpress.Xpf.Layout.Core
Imports DevExpress.Xpf.Core
Imports DevExpress.Xpf.Bars

Namespace DockingDemo.Tests
	#Region "DockingDemoModulesAccessor"
	Public Class DockingDemoModulesAccessor
		Inherits DemoModulesAccessor(Of DockingDemoModule)
		Public Sub New(ByVal fixture As BaseDemoTestingFixture)
			MyBase.New(fixture)
		End Sub
		Private manager As DockLayoutManager
		Public ReadOnly Property DockLayoutManager() As DockLayoutManager
			Get
				If manager Is Nothing Then
					manager = TryCast(LayoutHelper.FindElement(DemoModule, AddressOf Criteria), DockLayoutManager)
				End If
				Return manager
			End Get
		End Property
		Private Function Criteria(ByVal element As FrameworkElement) As Boolean
			Return TypeOf element Is DevExpress.Xpf.Docking.DockLayoutManager
		End Function
		Public Sub ResetDockLayoutManager()
			manager = Nothing
		End Sub
		Public ReadOnly Property IDEComplexLayoutModule() As IDEComplexLayout
			Get
				Return TryCast(DemoModule, IDEComplexLayout)
			End Get
		End Property
		Public ReadOnly Property RowColumnLayoutModule() As RowColumnLayout
			Get
				Return TryCast(DemoModule, RowColumnLayout)
			End Get
		End Property
		Public ReadOnly Property FloatPanelsModule() As FloatPanels
			Get
				Return TryCast(DemoModule, FloatPanels)
			End Get
		End Property
		Public ReadOnly Property SerializationModule() As Serialization
			Get
				Return TryCast(DemoModule, Serialization)
			End Get
		End Property
		Public ReadOnly Property DocumentGroupsModule() As DocumentGroups
			Get
				Return TryCast(DemoModule, DocumentGroups)
			End Get
		End Property
		Public ReadOnly Property IDEWorkspacesModule() As IDEWorkspaces
			Get
				Return TryCast(DemoModule, IDEWorkspaces)
			End Get
		End Property
	End Class
	#End Region ' DockingDemoModulesAccessor
	Public MustInherit Class BaseDockingDemoTestingFixture
		Inherits BaseDemoTestingFixture
		Private ReadOnly modulesAccessor As DockingDemoModulesAccessor
		Public Sub New()
			modulesAccessor = New DockingDemoModulesAccessor(Me)
		End Sub
		Public ReadOnly Property DockLayoutManager() As DockLayoutManager
			Get
				Return modulesAccessor.DockLayoutManager
			End Get
		End Property
		Protected Sub ResetDockLayoutManager()
			modulesAccessor.ResetDockLayoutManager()
		End Sub
		Public ReadOnly Property IDEComplexLayoutModule() As IDEComplexLayout
			Get
				Return modulesAccessor.IDEComplexLayoutModule
			End Get
		End Property
		Public ReadOnly Property RowColumnLayoutModule() As RowColumnLayout
			Get
				Return modulesAccessor.RowColumnLayoutModule
			End Get
		End Property
		Public ReadOnly Property SerializationModule() As Serialization
			Get
				Return modulesAccessor.SerializationModule
			End Get
		End Property
		Public ReadOnly Property FloatPanelsModule() As FloatPanels
			Get
				Return modulesAccessor.FloatPanelsModule
			End Get
		End Property
		Public ReadOnly Property DocumentGroupsModule() As DocumentGroups
			Get
				Return modulesAccessor.DocumentGroupsModule
			End Get
		End Property
		Public ReadOnly Property IDEWorkspaces() As IDEWorkspaces
			Get
				Return modulesAccessor.IDEWorkspacesModule
			End Get
		End Property
	End Class
	Public Class DockingCheckAllDemosFixture
		Inherits CheckAllDemosFixture
		Private skipMemoryLeaksCheckModules() As Type = { GetType(IDEComplexLayout), GetType(MDIQuickNotes), GetType(IDEWorkspaces), GetType(Dashboard) }
		Protected Overrides Function CheckMemoryLeaks(ByVal moduleTyle As Type) As Boolean
			Return Array.IndexOf(skipMemoryLeaksCheckModules, moduleTyle) = -1
		End Function
		Protected Overrides Sub CreateSwitchAllThemesActions()
			MyBase.CreateSwitchAllThemesActions()
		End Sub
	End Class
	Public Class CheckDemoOptionsFixture
		Inherits BaseDockingDemoTestingFixture
		#Region "Initialization"
		Protected Overrides Sub CreateActions()
			MyBase.CreateActions()
			AddSimpleAction(AddressOf CreateCheckDemosActions)
		End Sub
		Private Sub CreateCheckDemosActions()
			CheckIDEWorkspacesModule()
			CheckSerializationModule()
			CheckDocumentGroupsModule()
			CheckRowColumnLayoutModule()
			CreateSetCurrentDemoActions(Nothing, False)
		End Sub
		Private Sub CheckRowColumnLayoutModule()
			AddLoadModuleActions(GetType(RowColumnLayout))
			AddSimpleAction(AddressOf RowColumnLayoutTest)
		End Sub
		Private Sub CheckSerializationModule()
			AddLoadModuleActions(GetType(Serialization))
			AddSimpleAction(AddressOf SerializationTest)
		End Sub
		Private Sub CheckDocumentGroupsModule()
			AddLoadModuleActions(GetType(DocumentGroups))
			AddSimpleAction(AddressOf DocumentGroupsTest)
		End Sub
		Private Sub CheckIDEWorkspacesModule()
			AddLoadModuleActions(GetType(IDEWorkspaces))
			AddSimpleAction(AddressOf IDEWorkspacesTest)
		End Sub
		#End Region ' Initialization
		Private Sub IDEWorkspacesTest()
			Dim document1 As DocumentPanel = TryCast(IDEWorkspaces.DemoDockContainer.GetItem("document1"), DocumentPanel)
			Assert.IsNotNull(document1)
			Dim floatGroup As FloatGroup = IDEWorkspaces.DemoDockContainer.DockController.Float(document1)
			UpdateLayoutAndDoEvents()
			IDEWorkspaces.DemoDockContainer.DockController.Hide(floatGroup)
			UpdateLayoutAndDoEvents()
			IDEWorkspaces.DemoDockContainer.DockController.Close(floatGroup)
			UpdateLayoutAndDoEvents()
			WorkspaceManager.GetWorkspaceManager(IDEWorkspaces.barManager).ApplyWorkspace("workspace2")
			UpdateLayoutAndDoEvents()
			Assert.AreEqual("File", (CType(IDEWorkspaces.barManager.MainMenu.ItemLinks(0), BarItemLink)).ActualContent.ToString())
			Return
		End Sub
		Private Sub RowColumnLayoutTest()
			ResetDockLayoutManager()

			Assert.AreEqual(3, DockLayoutManager.LayoutRoot.Items.Count)
			Assert.IsTrue(DockLayoutManager.LayoutRoot.Orientation = System.Windows.Controls.Orientation.Horizontal)
			Assert.IsTrue(RowColumnLayoutModule.allowSplittersCheck.IsChecked.Value)
			Assert.AreEqual(0, RowColumnLayoutModule.orientationListBox.SelectedIndex)
			Assert.IsTrue(DockLayoutManager.LayoutRoot.IsSplittersEnabled)
			EditorsActions.ToggleCheckEdit(RowColumnLayoutModule.allowSplittersCheck)
			UpdateLayoutAndDoEvents()
			Assert.IsFalse(DockLayoutManager.LayoutRoot.IsSplittersEnabled)

			EditorsActions.ToggleCheckEdit(RowColumnLayoutModule.allowSplittersCheck)
			UpdateLayoutAndDoEvents()
			Assert.IsTrue(DockLayoutManager.LayoutRoot.IsSplittersEnabled)

			RowColumnLayoutModule.orientationListBox.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(1, RowColumnLayoutModule.orientationListBox.SelectedIndex)
			Assert.IsTrue(DockLayoutManager.LayoutRoot.Orientation = System.Windows.Controls.Orientation.Vertical)

			RowColumnLayoutModule.orientationListBox.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(0, RowColumnLayoutModule.orientationListBox.SelectedIndex)
			Assert.IsTrue(DockLayoutManager.LayoutRoot.Orientation = System.Windows.Controls.Orientation.Horizontal)
		End Sub
		Private Sub SerializationTest()
			ResetDockLayoutManager()

			Dim root As LayoutGroup = DockLayoutManager.LayoutRoot

			Assert.AreEqual(3, root.Items.Count)
			Assert.IsTrue(TypeOf root.Items(0) Is LayoutGroup)
			Assert.IsTrue(TypeOf root.Items(1) Is LayoutPanel)
			Assert.IsTrue(TypeOf root.Items(2) Is LayoutGroup)

			Dim panel1 As LayoutPanel = TryCast((CType(root.Items(0), LayoutGroup)).Items(0), LayoutPanel)
			Dim panel2 As LayoutPanel = TryCast((CType(root.Items(0), LayoutGroup)).Items(1), LayoutPanel)
			Dim panel3 As LayoutPanel = TryCast((CType(root.Items(2), LayoutGroup)).Items(0), LayoutPanel)
			Dim panel4 As LayoutPanel = TryCast((CType(root.Items(2), LayoutGroup)).Items(1), LayoutPanel)

			Assert.IsTrue(SerializationModule.serializeButton.IsEnabled)
			Assert.IsFalse(SerializationModule.deserializeButton.IsEnabled)
			Assert.AreEqual(SerializationModule.layoutSampleName.Items.Count, 4)
			Assert.AreEqual(SerializationModule.layoutSampleName.SelectedIndex, 0)

			SerializationModule.layoutSampleName.SelectedIndex = 1
			UIAutomationActions.ClickButton(SerializationModule.loadSampleLayoutButton)
			UpdateLayoutAndDoEvents()
			SerializationModule.layoutSampleName.SelectedIndex = 2
			UIAutomationActions.ClickButton(SerializationModule.loadSampleLayoutButton)
			UpdateLayoutAndDoEvents()
			SerializationModule.layoutSampleName.SelectedIndex = 3
			UIAutomationActions.ClickButton(SerializationModule.loadSampleLayoutButton)
			UpdateLayoutAndDoEvents()
			SerializationModule.layoutSampleName.SelectedIndex = 0
			UIAutomationActions.ClickButton(SerializationModule.loadSampleLayoutButton)
			UpdateLayoutAndDoEvents()

			UIAutomationActions.ClickButton(SerializationModule.serializeButton)
			UpdateLayoutAndDoEvents()
			Assert.IsTrue(SerializationModule.deserializeButton.IsEnabled)
			Assert.IsFalse(panel1.IsAutoHidden)
			DockLayoutManager.DockController.Hide(panel1)
			Assert.IsTrue(panel1.IsAutoHidden)
			UIAutomationActions.ClickButton(SerializationModule.deserializeButton)
			UpdateLayoutAndDoEvents()
			Assert.IsFalse(panel1.IsAutoHidden)
		End Sub
		Private Sub DocumentGroupsTest()
			ResetDockLayoutManager()
			Assert.AreEqual(DockLayoutManager.LayoutRoot.Items(0), DocumentGroupsModule.documentContainer)

			Dim dGroup As DocumentGroup = DocumentGroupsModule.documentContainer

			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.Default)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.InTabControlHeader)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.InAllTabPageHeaders)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 3
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.InActiveTabPageHeader)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 4
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.InAllTabPagesAndTabControlHeader)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 5
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.InActiveTabPageAndTabControlHeader)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 6
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.NoWhere)
			DocumentGroupsModule.closeButtonListBox.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.ClosePageButtonShowMode, ClosePageButtonShowMode.Default)

			Assert.AreEqual(dGroup.CaptionOrientation, System.Windows.Controls.Orientation.Horizontal)
			DocumentGroupsModule.headerOrientationListBox.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionOrientation, System.Windows.Controls.Orientation.Vertical)
			DocumentGroupsModule.headerOrientationListBox.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionOrientation, System.Windows.Controls.Orientation.Horizontal)

			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Default)
			DocumentGroupsModule.headerLocationListBox.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Left)
			DocumentGroupsModule.headerLocationListBox.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Top)
			DocumentGroupsModule.headerLocationListBox.SelectedIndex = 3
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Right)
			DocumentGroupsModule.headerLocationListBox.SelectedIndex = 4
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Bottom)
			DocumentGroupsModule.headerLocationListBox.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.CaptionLocation, CaptionLocation.Default)

			Assert.IsFalse(DocumentGroupsModule.headersAutoFill.IsChecked.Value)
			Assert.IsFalse(dGroup.TabHeadersAutoFill)
			Assert.AreEqual(dGroup.TabHeaderLayoutType, TabHeaderLayoutType.Scroll)
			DocumentGroupsModule.headerLayoutListBox.SelectedIndex = 1
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.TabHeaderLayoutType, TabHeaderLayoutType.Trim)
			DocumentGroupsModule.headerLayoutListBox.SelectedIndex = 2
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.TabHeaderLayoutType, TabHeaderLayoutType.Scroll)
			DocumentGroupsModule.headerLayoutListBox.SelectedIndex = 3
			UpdateLayoutAndDoEvents()
			Assert.AreEqual(dGroup.TabHeaderLayoutType, TabHeaderLayoutType.MultiLine)
			Assert.IsTrue(DocumentGroupsModule.headersAutoFill.IsChecked.Value)
			Assert.IsTrue(dGroup.TabHeadersAutoFill)
			DocumentGroupsModule.headerLayoutListBox.SelectedIndex = 0
			UpdateLayoutAndDoEvents()
			Assert.IsFalse(DocumentGroupsModule.headersAutoFill.IsChecked.Value)
			Assert.AreEqual(dGroup.TabHeaderLayoutType, TabHeaderLayoutType.Scroll)
			Assert.IsFalse(dGroup.TabHeadersAutoFill)
		End Sub
	End Class
End Namespace