Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/EditorsDemo.Wpf/DemoTesting/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/WPF/CS/EditorsDemo.Wpf/DemoTesting/Fixtures.cs

using DevExpress.Xpf.DemoBase.DemoTesting;
using System.Threading;
using System.Windows.Threading;
using System;
using DevExpress.Xpf.Core.Native;
using DevExpress.Xpf.Editors;
using DevExpress.Xpf.Editors.Helpers;
using System.Windows;
using System.Globalization;
using DevExpress.Xpf.Core;
using DevExpress.Xpf.DemoBase;

namespace EditorsDemo.Tests {
    public class EditorsCheckAllDemosFixture : CheckAllDemosFixture {
        const string EditorsGroupName = "Editors";
        const string ControlsGroupName = "Controls";

        Type[] skipMemoryLeaksCheckModules = new Type[] {
            typeof(ValidationModule),
            typeof(ValidationWithoutLockInput),
            typeof(CalcEditModule),
            typeof(RegularMaskEdit),
            typeof(PasswordBoxEditModule),
            typeof(CollectionViewSupportModule)
        };
        protected override bool CheckMemoryLeaks(Type moduleType) {
            return !EnumeratorHelper.Exists<Type>(skipMemoryLeaksCheckModules, moduleType);
        }
        protected override bool SwitchAllThemes(Type moduleType) {
            if(base.SwitchAllThemes(moduleType)) return true;
            ModuleDescription module = DemoBaseTesting.GetModuleByModuleType(moduleType);
            return module.GroupName == EditorsGroupName || module.GroupName == ControlsGroupName;
        }
    }
    public class EditorsDemoModulesAccessor : DemoModulesAccessor<EditorsDemoModule> {
        public EditorsDemoModulesAccessor(BaseDemoTestingFixture fixture)
            : base(fixture) {
        }
    }
    public abstract class BaseEditorsDemoTestingFixture : BaseDemoTestingFixture {
        protected EditorsDemoModulesAccessor ModuleAccessor { get; private set; }
        public BaseEditorsDemoTestingFixture() {
            ModuleAccessor = GetModulesAccessor();
        }
        protected abstract EditorsDemoModulesAccessor GetModulesAccessor();
    }
}