コード例 #1
0
        /// <summary>
        /// A heavy non-cached Visual tree value extraction from state
        /// </summary>
        /// <param name="desiredType"></param>
        /// <param name="random"></param>
        /// <returns></returns>
        public DependencyObject GetFromVisualTree(Type desiredType, DeterministicRandom random)
        {
            List <DependencyObject> matches = new List <DependencyObject>();

            foreach (Window window in windowList)
            {
                List <DependencyObject> elements = HomelessTestHelpers.VisualTreeWalk(window);
                elements.Add(window);

                foreach (DependencyObject obj in elements)
                {
                    if (desiredType.IsInstanceOfType(obj))
                    {
                        matches.Add(obj);
                    }
                }
            }

            if (matches.Count == 0)
            {
                return(null);
            }

            return(random.NextItem <DependencyObject>(matches));
        }
コード例 #2
0
ファイル: ConstrainedString.cs プロジェクト: dotnet/wpf-test
        public override object GetData(DeterministicRandom r)
        {
            if (strings == null)
            {
                ConstructStringsList();
            }

            return(r.NextItem <String>(strings));
        }
コード例 #3
0
ファイル: CultureInfoFactory.cs プロジェクト: dotnet/wpf-test
        public override CultureInfo Create(DeterministicRandom random)
        {
            List <CultureInfo> cultures = new List <CultureInfo>();

            foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures))
            {
                cultures.Add(ci);
            }
            return(random.NextItem <CultureInfo>(cultures));
        }
コード例 #4
0
        public override FontFamily Create(DeterministicRandom random)
        {
            List <FontFamily> fontsFamilies = new List <FontFamily>();

            foreach (FontFamily fontFamily in Fonts.SystemFontFamilies)
            {
                fontsFamilies.Add(fontFamily);
            }
            return(random.NextItem <FontFamily>(fontsFamilies));
        }
コード例 #5
0
        public override object GetData(DeterministicRandom random)
        {
            List <string> ietfLanguageTags = new List <string>();

            foreach (CultureInfo cultureInfo in CultureInfo.GetCultures(CultureTypes.AllCultures))
            {
                ietfLanguageTags.Add(cultureInfo.IetfLanguageTag);
            }

            return(XmlLanguage.GetLanguage(random.NextItem <string>(ietfLanguageTags)));
        }
コード例 #6
0
        /// <summary>
        /// Provides a randomly sorted queue of possible actions
        /// </summary>
        /// <param name="random"></param>
        /// <returns></returns>
        internal Queue <Type> GetActions(DeterministicRandom random)
        {
            Queue <Type> randomQueue = new Queue <Type>();

            while (randomQueue.Count != actionTypes.Count)
            {
                // make sure each entry in the random queue is a unique action type
                Type randomAction = random.NextItem <Type>(actionTypes);
                if (!randomQueue.Contains(randomAction))
                {
                    randomQueue.Enqueue(randomAction);
                }
            }
            return(randomQueue);
        }
コード例 #7
0
        /// <summary>
        /// Get an random object of desired type from the whole object tree.
        /// </summary>
        /// <param name="desiredType"></param>
        /// <param name="random"></param>
        /// <returns></returns>
        public object GetFromObjectTree(Type desiredType, DeterministicRandom random)
        {
            List <object> matches = new List <object>();

            foreach (Window window in windowList)
            {
                matches.AddRange(HomelessTestHelpers.GetAllObjects(window, desiredType));
            }

            if (matches.Count == 0)
            {
                return(null);
            }

            return(random.NextItem <object>(matches));
        }
コード例 #8
0
ファイル: ConstrainedUri.cs プロジェクト: dotnet/wpf-test
        public override object GetData(DeterministicRandom r)
        {
            if (needToAddFilesWithSearchPatterns)
            {
                UriList urisFromPathList = MakeUris(pathList);

                if (Uris == null)
                {
                    Uris = urisFromPathList;
                }
                else
                {
                    Uris.AddRange(MakeUris(pathList));
                }

                needToAddFilesWithSearchPatterns = false;
            }

            return(r.NextItem <Uri>(Uris));
        }