Ejemplo n.º 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));
        }
Ejemplo n.º 2
0
        private void RegisterFactories(List <DiscoverableFactory> factories, List <Type> inputTypes)
        {
            List <Type> supportedOutputs = new List <Type>();

            HomelessTestHelpers.Merge(inputTypes, GatherFactoryInputs(factories));
            MapFactories(factories, inputTypes);
        }
Ejemplo n.º 3
0
        public override ListItem Create(DeterministicRandom random)
        {
            ListItem listItem = null;

            if (Paragraph != null)
            {
                listItem = new ListItem(Paragraph);
            }
            else
            {
                listItem = new ListItem();
            }

            ApplyTextElementFactory(listItem, random);
            HomelessTestHelpers.Merge(listItem.Blocks, Children);
            listItem.BorderBrush          = BorderBrush;
            listItem.BorderThickness      = BorderThickness;
            listItem.FlowDirection        = random.NextEnum <FlowDirection>();
            listItem.LineHeight           = CreateValidLineHeight(LineHeight);
            listItem.LineStackingStrategy = random.NextEnum <LineStackingStrategy>();
            listItem.Margin        = Margin;
            listItem.Padding       = Padding;
            listItem.TextAlignment = random.NextEnum <TextAlignment>();

            return(listItem);
        }
Ejemplo n.º 4
0
 public override void  Perform()
 {
     for (int i = 0; i < numberOfHits; i++)
     {
         HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Tab);
     }
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Create a InkCanvas.
        /// </summary>
        /// <param name="random"></param>
        /// <returns></returns>
        public override InkCanvas Create(DeterministicRandom random)
        {
            InkCanvas inkCanvas = new InkCanvas();

            inkCanvas.Background = Background;
            HomelessTestHelpers.Merge(inkCanvas.Children, UIElementCollection);
            inkCanvas.DefaultDrawingAttributes      = DefaultDrawingAttributes;
            inkCanvas.DefaultStylusPointDescription = DefaultStylusPointDescription;
            inkCanvas.EditingMode           = random.NextEnum <InkCanvasEditingMode>();
            inkCanvas.EditingModeInverted   = random.NextEnum <InkCanvasEditingMode>();
            inkCanvas.EraserShape           = EraserShape;
            inkCanvas.MoveEnabled           = random.NextBool();
            inkCanvas.PreferredPasteFormats = PreferredPasteFormats;
            inkCanvas.ResizeEnabled         = random.NextBool();
            inkCanvas.Strokes         = Strokes;
            inkCanvas.UseCustomCursor = random.NextBool();

            inkCanvas.ActiveEditingModeChanged         += new RoutedEventHandler(ActiveEditingModeChanged);
            inkCanvas.DefaultDrawingAttributesReplaced += new DrawingAttributesReplacedEventHandler(DefaultDrawingAttributesReplaced);
            inkCanvas.EditingModeChanged         += new RoutedEventHandler(EditingModeChanged);
            inkCanvas.EditingModeInvertedChanged += new RoutedEventHandler(EditingModeInvertedChanged);
            inkCanvas.Gesture           += new InkCanvasGestureEventHandler(Gesture);
            inkCanvas.SelectionChanged  += new EventHandler(SelectionChanged);
            inkCanvas.SelectionChanging += new InkCanvasSelectionChangingEventHandler(SelectionChanging);
            inkCanvas.SelectionMoved    += new EventHandler(SelectionMoved);
            inkCanvas.SelectionMoving   += new InkCanvasSelectionEditingEventHandler(SelectionMoving);
            inkCanvas.SelectionResized  += new EventHandler(SelectionResized);
            inkCanvas.SelectionResizing += new InkCanvasSelectionEditingEventHandler(SelectionResizing);
            inkCanvas.StrokeCollected   += new InkCanvasStrokeCollectedEventHandler(StrokeCollected);
            inkCanvas.StrokeErased      += new RoutedEventHandler(StrokeErased);
            inkCanvas.StrokeErasing     += new InkCanvasStrokeErasingEventHandler(StrokeErasing);
            inkCanvas.StrokesReplaced   += new InkCanvasStrokesReplacedEventHandler(StrokesReplaced);

            return(inkCanvas);
        }
Ejemplo n.º 6
0
        public override GridView Create(DeterministicRandom random)
        {
            GridView gridView = new GridView();

            HomelessTestHelpers.Merge(gridView.Columns, HomelessTestHelpers.FilterListOfType(Children, typeof(ContextMenu)));
            return(gridView);
        }
Ejemplo n.º 7
0
        public override Viewport3D Create(DeterministicRandom random)
        {
            Viewport3D viewport3D = new Viewport3D();

            viewport3D.Camera = Camera;
            HomelessTestHelpers.Merge(viewport3D.Children, Children);
            return(viewport3D);
        }
Ejemplo n.º 8
0
        public override ContainerUIElement3D Create(DeterministicRandom random)
        {
            ContainerUIElement3D containerUIElement3D = new ContainerUIElement3D();

            ApplyTransform(containerUIElement3D);
            HomelessTestHelpers.Merge(containerUIElement3D.Children, Children);
            return(containerUIElement3D);
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Apply common Grid properties.
 /// </summary>
 /// <param name="grid"/>
 /// <param name="random"/>
 protected void ApplyGridProperties(GridType grid, DeterministicRandom random)
 {
     ApplyCommonProperties(grid, random);
     HomelessTestHelpers.Merge(grid.ColumnDefinitions, ColumnDefinitions);
     HomelessTestHelpers.Merge(grid.RowDefinitions, RowDefinitions);
     SetChildrenLayout(grid, random);
     grid.ShowGridLines = random.NextBool();
 }
Ejemplo n.º 10
0
        public override Section Create(DeterministicRandom random)
        {
            Section section = new Section();

            ApplyBlockProperties(section, random);
            HomelessTestHelpers.Merge(section.Blocks, Children);
            section.HasTrailingParagraphBreakOnPaste = random.NextBool();
            return(section);
        }
Ejemplo n.º 11
0
        public override ModelVisual3D Create(DeterministicRandom random)
        {
            ModelVisual3D modelVisual3D = new ModelVisual3D();

            ApplyTransform(modelVisual3D);
            modelVisual3D.Content = Model3D;
            HomelessTestHelpers.Merge(modelVisual3D.Children, Children);
            return(modelVisual3D);
        }
Ejemplo n.º 12
0
        public override TableRowGroup Create(DeterministicRandom random)
        {
            TableRowGroup rowGroup = new TableRowGroup();

            ApplyTextElementFactory(rowGroup, random);
            HomelessTestHelpers.Merge(rowGroup.Rows, Rows);

            return(rowGroup);
        }
Ejemplo n.º 13
0
        public override Span Create(DeterministicRandom random)
        {
            Span span = new Span();

            ApplyInlineProperties(span, random);
            HomelessTestHelpers.Merge(span.Inlines, Children);

            return(span);
        }
Ejemplo n.º 14
0
        public override FixedDocument Create(DeterministicRandom random)
        {
            FixedDocument fixedDocument = new FixedDocument();

            HomelessTestHelpers.Merge(fixedDocument.Pages, Children);
            fixedDocument.DocumentPaginator.PageSize = PageSize;
            fixedDocument.PrintTicket = PrintTicket;
            return(fixedDocument);
        }
Ejemplo n.º 15
0
        public override TableRow Create(DeterministicRandom random)
        {
            TableRow tableRow = new TableRow();

            ApplyTextElementFactory(tableRow, random);
            HomelessTestHelpers.Merge(tableRow.Cells, Cells);

            return(tableRow);
        }
Ejemplo n.º 16
0
        public override Style Create(DeterministicRandom random)
        {
            Style style = null;

            if (random.NextBool())
            {
                style = new Style();
                HomelessTestHelpers.Merge(style.Setters, Setters);
            }
            return(style);
        }
Ejemplo n.º 17
0
        /// <summary>
        /// Create a ToolBarTray.
        /// </summary>
        /// <param name="random"></param>
        /// <returns></returns>
        public override ToolBarTray Create(DeterministicRandom random)
        {
            ToolBarTray toolBarTray = new ToolBarTray();

            toolBarTray.Background  = Background;
            toolBarTray.IsLocked    = random.NextBool();
            toolBarTray.Orientation = random.NextEnum <Orientation>();
            HomelessTestHelpers.Merge(toolBarTray.ToolBars, ToolBars);

            return(toolBarTray);
        }
Ejemplo n.º 18
0
        // Identify the types needed to produce content for Factories
        private List <Type> GatherFactoryInputs(List <DiscoverableFactory> factories)
        {
            List <Type> testInputTypes = new List <Type>();

            foreach (DiscoverableFactory factory in factories)
            {
                List <Type> factoryInputTypes = DiscoverableInputHelper.GetFactoryInputTypes(factory.GetType());
                HomelessTestHelpers.Merge(testInputTypes, factoryInputTypes);
            }
            return(testInputTypes);
        }
Ejemplo n.º 19
0
        public override void Perform()
        {
            SetupDataGridItemsSource();
            switch (KeyboardingIndex)
            {
            case 0:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Tab);
                break;

            case 1:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.LeftShift, Key.Tab);
                break;

            case 2:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.LeftCtrl, Key.Tab);
                break;

            case 3:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.LeftCtrl, Key.LeftShift, Key.Tab);
                break;

            case 4:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Up);
                break;

            case 5:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Down);
                break;

            case 6:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.PageUp);
                break;

            case 7:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.PageDown);
                break;

            case 8:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Left);
                break;

            case 9:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Right);
                break;

            case 10:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Home);
                break;

            case 11:
                HomelessTestHelpers.KeyPress(System.Windows.Input.Key.End);
                break;
            }
        }
Ejemplo n.º 20
0
        public override Table Create(DeterministicRandom random)
        {
            Table table = new Table();

            ApplyBlockProperties(table, random);
            table.CellSpacing = random.NextDouble() * 5;
            HomelessTestHelpers.Merge(table.Columns, Columns);
            HomelessTestHelpers.Merge(table.RowGroups, RowGroups);

            return(table);
        }
Ejemplo n.º 21
0
 protected void ApplyAnchoredBlockProperties(AnchoredBlockType anchoredBlock, DeterministicRandom random)
 {
     ApplyInlineProperties(anchoredBlock, random);
     HomelessTestHelpers.Merge(anchoredBlock.Blocks, Blocks);
     anchoredBlock.BorderBrush          = BorderBrush;
     anchoredBlock.BorderThickness      = BorderThickness;
     anchoredBlock.LineHeight           = CreateValidLineHeight(LineHeight);
     anchoredBlock.LineStackingStrategy = random.NextEnum <LineStackingStrategy>();
     anchoredBlock.Margin        = Margin;
     anchoredBlock.Padding       = Padding;
     anchoredBlock.TextAlignment = random.NextEnum <TextAlignment>();
 }
Ejemplo n.º 22
0
        public override void Perform()
        {
            Window.Content = Calendar;

            ClickOnNextButton(NumNextButtonClicks);
            ClickOnPreviousButton(NumPrevButtonClicks);

            // press right arrow key <x> times to select a random day on the Calendar
            for (int i = 0; i < NumLeftKeyPresses; i++)
            {
                HomelessTestHelpers.KeyPress(Key.Right);
            }
        }
Ejemplo n.º 23
0
        public override Paragraph Create(DeterministicRandom random)
        {
            Paragraph paragraph = new Paragraph();

            ApplyBlockProperties(paragraph, random);
            HomelessTestHelpers.Merge(paragraph.Inlines, Children);
            paragraph.KeepTogether    = KeepTogether;
            paragraph.KeepWithNext    = KeepWithNext;
            paragraph.MinOrphanLines  = MinOrphanLines;
            paragraph.MinWidowLines   = MinWidowLines;
            paragraph.TextDecorations = TextDecorations;
            paragraph.TextIndent      = TextIndent;
            return(paragraph);
        }
Ejemplo n.º 24
0
        public override Viewport3DVisual Create(DeterministicRandom random)
        {
            Viewport3DVisual viewport3DVisual = new Viewport3DVisual();

            viewport3DVisual.Camera = Camera;
            HomelessTestHelpers.Merge(viewport3DVisual.Children, Children);
            viewport3DVisual.Clip        = Geometry;
            viewport3DVisual.Offset      = Vector;
            viewport3DVisual.Opacity     = random.NextDouble();
            viewport3DVisual.OpacityMask = Brush;
            viewport3DVisual.Transform   = Transform;
            viewport3DVisual.Viewport    = Rect;
            return(viewport3DVisual);
        }
Ejemplo n.º 25
0
        public override ContainerVisual Create(DeterministicRandom random)
        {
            ContainerVisual containerVisual = new ContainerVisual();

            containerVisual.Clip                = Geometry;
            containerVisual.Offset              = Vector;
            containerVisual.Opacity             = random.NextDouble();
            containerVisual.OpacityMask         = Brush;
            containerVisual.Transform           = Transform;
            containerVisual.XSnappingGuidelines = XSnappingGuidelines;
            containerVisual.YSnappingGuidelines = YSnappingGuidelines;
            HomelessTestHelpers.Merge(containerVisual.Children, Children);
            return(containerVisual);
        }
Ejemplo n.º 26
0
        public override List Create(DeterministicRandom random)
        {
            List list = new List();

            ApplyBlockProperties(list, random);
            HomelessTestHelpers.Merge(list.ListItems, Children);
            list.MarkerOffset = MarkerOffset;
            //HACK: Work around
            list.TextEffects = null;

            list.MarkerStyle = random.NextEnum <TextMarkerStyle>();
            list.StartIndex  = random.Next(list.ListItems.Count) + 1;
            return(list);
        }
Ejemplo n.º 27
0
        public override Bold Create(DeterministicRandom random)
        {
            Bold bold = new Bold();

            ApplyInlineProperties(bold, random);
            if (MultiInlinesRate < 0.1)
            {
                HomelessTestHelpers.Merge(bold.Inlines, Children);
            }
            else
            {
                bold.Inlines.Add(Content);
            }

            return(bold);
        }
Ejemplo n.º 28
0
        public override Underline Create(DeterministicRandom random)
        {
            Underline underline = new Underline();

            ApplyInlineProperties(underline, random);
            if (MultiInlinesRate < 0.1)
            {
                HomelessTestHelpers.Merge(underline.Inlines, Children);
            }
            else
            {
                underline.Inlines.Add(Content);
            }

            return(underline);
        }
Ejemplo n.º 29
0
        public override void Perform()
        {
            Window.Content = DatePicker;

            // open the drop down
            DatePicker.IsDropDownOpen = true;

            // press right arrow key <x> times to select a random date on the Calendar
            for (int i = 0; i < NumLeftKeyPresses; i++)
            {
                HomelessTestHelpers.KeyPress(Key.Right);
            }

            // close the dropdown
            DatePicker.IsDropDownOpen = false;
        }
Ejemplo n.º 30
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));
        }