/// <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)); }
private void RegisterFactories(List <DiscoverableFactory> factories, List <Type> inputTypes) { List <Type> supportedOutputs = new List <Type>(); HomelessTestHelpers.Merge(inputTypes, GatherFactoryInputs(factories)); MapFactories(factories, inputTypes); }
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); }
public override void Perform() { for (int i = 0; i < numberOfHits; i++) { HomelessTestHelpers.KeyPress(System.Windows.Input.Key.Tab); } }
/// <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); }
public override GridView Create(DeterministicRandom random) { GridView gridView = new GridView(); HomelessTestHelpers.Merge(gridView.Columns, HomelessTestHelpers.FilterListOfType(Children, typeof(ContextMenu))); return(gridView); }
public override Viewport3D Create(DeterministicRandom random) { Viewport3D viewport3D = new Viewport3D(); viewport3D.Camera = Camera; HomelessTestHelpers.Merge(viewport3D.Children, Children); return(viewport3D); }
public override ContainerUIElement3D Create(DeterministicRandom random) { ContainerUIElement3D containerUIElement3D = new ContainerUIElement3D(); ApplyTransform(containerUIElement3D); HomelessTestHelpers.Merge(containerUIElement3D.Children, Children); return(containerUIElement3D); }
/// <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(); }
public override Section Create(DeterministicRandom random) { Section section = new Section(); ApplyBlockProperties(section, random); HomelessTestHelpers.Merge(section.Blocks, Children); section.HasTrailingParagraphBreakOnPaste = random.NextBool(); return(section); }
public override ModelVisual3D Create(DeterministicRandom random) { ModelVisual3D modelVisual3D = new ModelVisual3D(); ApplyTransform(modelVisual3D); modelVisual3D.Content = Model3D; HomelessTestHelpers.Merge(modelVisual3D.Children, Children); return(modelVisual3D); }
public override TableRowGroup Create(DeterministicRandom random) { TableRowGroup rowGroup = new TableRowGroup(); ApplyTextElementFactory(rowGroup, random); HomelessTestHelpers.Merge(rowGroup.Rows, Rows); return(rowGroup); }
public override Span Create(DeterministicRandom random) { Span span = new Span(); ApplyInlineProperties(span, random); HomelessTestHelpers.Merge(span.Inlines, Children); return(span); }
public override FixedDocument Create(DeterministicRandom random) { FixedDocument fixedDocument = new FixedDocument(); HomelessTestHelpers.Merge(fixedDocument.Pages, Children); fixedDocument.DocumentPaginator.PageSize = PageSize; fixedDocument.PrintTicket = PrintTicket; return(fixedDocument); }
public override TableRow Create(DeterministicRandom random) { TableRow tableRow = new TableRow(); ApplyTextElementFactory(tableRow, random); HomelessTestHelpers.Merge(tableRow.Cells, Cells); return(tableRow); }
public override Style Create(DeterministicRandom random) { Style style = null; if (random.NextBool()) { style = new Style(); HomelessTestHelpers.Merge(style.Setters, Setters); } return(style); }
/// <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); }
// 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); }
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; } }
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); }
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>(); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }
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; }
/// <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)); }