/// <summary> /// Create an AccessText. /// </summary> /// <param name="random"></param> /// <returns></returns> public override AccessText Create(DeterministicRandom random) { AccessText accessText = new AccessText(); accessText.Background = Background; //Set BaselineOffset value [-10000, 10000). double baselineOffset = (random.NextDouble() - 0.5) * 20000; accessText.BaselineOffset = baselineOffset; accessText.FontFamily = FontFamily; accessText.FontSize = FontSize; accessText.FontStretch = random.NextStaticProperty <FontStretch>(typeof(FontStretches)); accessText.FontStyle = random.NextStaticProperty <FontStyle>(typeof(FontStyles)); accessText.FontWeight = random.NextStaticProperty <FontWeight>(typeof(FontWeights)); accessText.Foreground = Foreground; accessText.LineHeight = GenerateLineHeightValue(random); accessText.LineStackingStrategy = random.NextEnum <LineStackingStrategy>(); accessText.Text = Text; accessText.TextAlignment = random.NextEnum <TextAlignment>(); accessText.TextDecorations = TextDecorations; accessText.TextEffects = TextEffects; accessText.TextTrimming = random.NextEnum <TextTrimming>(); accessText.TextWrapping = random.NextEnum <TextWrapping>(); return(accessText); }
protected void ApplyTextElementFactory(T textElement, DeterministicRandom random) { textElement.Background = Background; if (FontFamily != null) { textElement.FontFamily = FontFamily; } textElement.FontSize = FontSize; textElement.FontStretch = random.NextStaticProperty <FontStretch>(typeof(FontStretches)); textElement.FontStyle = random.NextStaticProperty <FontStyle>(typeof(FontStyles)); textElement.FontWeight = random.NextStaticProperty <FontWeight>(typeof(FontWeights)); textElement.Foreground = Foreground; textElement.TextEffects = TextEffects; }
public override BitmapPalette Create(DeterministicRandom random) { if (Colors == null) { Colors = new List <Color>(); } if (random.NextBool()) { for (int i = 1; i <= random.Next(256) + 1; i++) { Colors.Add(Color.FromScRgb( (float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble())); } } else { for (int i = 1; i <= random.Next(256) + 1; i++) { Colors.Add(random.NextStaticProperty <Colors, Color>()); } } return(new BitmapPalette(Colors)); }
/// <summary> /// Apply common button properties. /// </summary> /// <param name="buttonBase"></param> /// <param name="random"></param> protected void ApplyButtonBaseProperties(T buttonBase, DeterministicRandom random) { ApplyContentControlProperties(buttonBase); buttonBase.ClickMode = random.NextEnum <ClickMode>(); buttonBase.Command = random.NextStaticProperty <RoutedUICommand>(typeof(ApplicationCommands)); buttonBase.CommandParameter = CommandParameter; buttonBase.Click += new RoutedEventHandler(ButtonBaseClick); }
public override FlowDocument Create(DeterministicRandom random) { FlowDocument flowDocument = new FlowDocument(); HomelessTestHelpers.Merge(flowDocument.Blocks, Children); flowDocument.Background = Background; flowDocument.ColumnGap = random.NextDouble() * 10; flowDocument.ColumnRuleBrush = ColumnRuleBrush; flowDocument.ColumnRuleWidth = random.NextDouble() * 10; flowDocument.ColumnWidth = random.NextDouble() * 100; flowDocument.FlowDirection = random.NextEnum <FlowDirection>(); if (FontFamily != null) { flowDocument.FontFamily = FontFamily; } flowDocument.FontSize = random.NextDouble() * 20 + 0.1; flowDocument.FontStretch = random.NextStaticProperty <FontStretch>(typeof(FontStretches)); flowDocument.FontStyle = random.NextStaticProperty <FontStyle>(typeof(FontStyles)); flowDocument.FontWeight = random.NextStaticProperty <FontWeight>(typeof(FontWeights)); flowDocument.Foreground = Foreground; flowDocument.IsColumnWidthFlexible = IsColumnWidthFlexible; flowDocument.IsHyphenationEnabled = IsHyphenationEnabled; flowDocument.IsOptimalParagraphEnabled = IsOptimalParagraphEnabled; flowDocument.LineHeight = random.NextDouble() * 5 + 0.005; flowDocument.LineStackingStrategy = random.NextEnum <LineStackingStrategy>(); double minPageHeight = random.NextDouble() * 100 + 100; double maxPageHeight = minPageHeight + random.NextDouble() * 900; double minPageWidth = random.NextDouble() * 100 + 100; double maxPageWidth = minPageWidth + random.NextDouble() * 900; flowDocument.MaxPageHeight = maxPageHeight; flowDocument.MaxPageWidth = maxPageWidth; flowDocument.MinPageHeight = minPageHeight; flowDocument.MinPageWidth = minPageWidth; flowDocument.PageHeight = minPageHeight + random.NextDouble() * (maxPageHeight - minPageHeight); flowDocument.PageWidth = minPageWidth + random.NextDouble() * (maxPageWidth - minPageWidth); flowDocument.PagePadding = Thickness; flowDocument.TextAlignment = random.NextEnum <TextAlignment>(); flowDocument.TextEffects = TextEffectCollection; return(flowDocument); }
public override object GetData(DeterministicRandom r) { PixelFormat format; do { format = r.NextStaticProperty <PixelFormat>(typeof(PixelFormats)); } while (ExcludedFormats.Contains(format)); return(format); }
public override Hyperlink Create(DeterministicRandom random) { Hyperlink hyperlink = new Hyperlink(); ApplyInlineProperties(hyperlink, random); hyperlink.Command = random.NextStaticProperty <RoutedUICommand>(typeof(ApplicationCommands)); hyperlink.CommandParameter = CommandParameter; hyperlink.NavigateUri = NavigateUri; hyperlink.TargetName = TargetName; hyperlink.Inlines.Add(Content); return(hyperlink); }
public override PixelFormat Create(DeterministicRandom random) { // filter out the PixelFormats.Default format, // as it is invalid for consumers of this factory PixelFormat format; do { format = random.NextStaticProperty <PixelFormat>(typeof(PixelFormats)); } while (format == PixelFormats.Default); return(format); }
public override Typeface Create(DeterministicRandom random) { FontStyle fontStyle = random.NextStaticProperty <FontStyle>(typeof(FontStyles)); FontWeight fontWeight = random.NextStaticProperty <FontWeight>(typeof(FontWeights)); FontStretch fontStretch = random.NextStaticProperty <FontStretch>(typeof(FontStretches)); switch (random.Next(3)) { case 0: typeface = new Typeface(FontFamily.Source); break; case 1: typeface = new Typeface(FontFamily, fontStyle, fontWeight, fontStretch); break; case 2: typeface = new Typeface(FontFamily, fontStyle, fontWeight, fontStretch, FallbackFontFamily); break; } return(typeface); }
public override Color Create(DeterministicRandom random) { if (random.NextBool()) { return(random.NextStaticProperty <Colors, Color>()); } else { return(Color.FromScRgb( (float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble(), (float)random.NextDouble())); } }
/// <summary> /// Create a DrawingAttributes. /// </summary> /// <param name="random"></param> /// <returns></returns> public override DrawingAttributes Create(DeterministicRandom random) { DrawingAttributes drawingAttributes = new DrawingAttributes(); drawingAttributes.Color = random.NextStaticProperty <Color>(typeof(Colors)); drawingAttributes.FitToCurve = random.NextBool(); //Set Height and Width value (0, 100000]. drawingAttributes.Height = (1 - random.NextDouble()) * 10000; drawingAttributes.Width = (1 - random.NextDouble()) * 10000; drawingAttributes.IgnorePressure = random.NextBool(); drawingAttributes.IsHighlighter = random.NextBool(); drawingAttributes.StylusTip = random.NextEnum <StylusTip>(); if (ValidateMatrix()) //Set StylusTipTransform only if matrix is valid. { drawingAttributes.StylusTipTransform = Matrix; } return(drawingAttributes); }
public override DashStyle Create(DeterministicRandom random) { return(random.NextStaticProperty <DashStyle>(typeof(DashStyles))); }
public override BitmapPalette Create(DeterministicRandom random) { return(random.NextStaticProperty <BitmapPalette>(typeof(BitmapPalettes))); }