コード例 #1
0
ファイル: AccessTextFactory.cs プロジェクト: dotnet/wpf-test
        /// <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);
        }
コード例 #2
0
ファイル: TextElementFactory.cs プロジェクト: dotnet/wpf-test
        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;
        }
コード例 #3
0
        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));
        }
コード例 #4
0
ファイル: ButtonBaseFactory.cs プロジェクト: dotnet/wpf-test
 /// <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);
 }
コード例 #5
0
        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);
        }
コード例 #6
0
        public override object GetData(DeterministicRandom r)
        {
            PixelFormat format;

            do
            {
                format = r.NextStaticProperty <PixelFormat>(typeof(PixelFormats));
            } while (ExcludedFormats.Contains(format));

            return(format);
        }
コード例 #7
0
ファイル: HyperlinkFactory.cs プロジェクト: dotnet/wpf-test
        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);
        }
コード例 #8
0
ファイル: PixelFormatFactory.cs プロジェクト: dotnet/wpf-test
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
 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()));
     }
 }
コード例 #11
0
        /// <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);
        }
コード例 #12
0
 public override DashStyle Create(DeterministicRandom random)
 {
     return(random.NextStaticProperty <DashStyle>(typeof(DashStyles)));
 }
コード例 #13
0
 public override BitmapPalette Create(DeterministicRandom random)
 {
     return(random.NextStaticProperty <BitmapPalette>(typeof(BitmapPalettes)));
 }