/// <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)); }
public override object GetData(DeterministicRandom r) { if (strings == null) { ConstructStringsList(); } return(r.NextItem <String>(strings)); }
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)); }
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)); }
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))); }
/// <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); }
/// <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)); }
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)); }