public void GridPatternCachedTest()
{
CacheRequest req = new CacheRequest();
req.Add(GridItemPattern.Pattern);
req.Add(GridPattern.Pattern);
req.Add(GridPattern.RowCountProperty);
req.Add(GridPattern.ColumnCountProperty);
req.Add(GridItemPattern.RowProperty);
req.Add(GridItemPattern.ColumnProperty);
req.Add(GridItemPattern.ContainingGridProperty);
using (req.Activate())
{
AutomationElement itemsView = ExplorerTargetTests.explorerHost.Element.FindFirst(TreeScope.Subtree,
new PropertyCondition(AutomationElement.ClassNameProperty, "UIItemsView"));
Assert.IsNotNull(itemsView);
// Try out the Grid Pattern
GridPattern grid = (GridPattern)itemsView.GetCachedPattern(GridPattern.Pattern);
Assert.IsTrue(grid.Cached.ColumnCount > 0);
Assert.IsTrue(grid.Cached.RowCount > 0);
// GridItem
AutomationElement gridItemElement = grid.GetItem(0, 0);
Assert.IsNotNull(gridItemElement);
GridItemPattern gridItem = (GridItemPattern)gridItemElement.GetCachedPattern(GridItemPattern.Pattern);
Assert.AreEqual(gridItem.Cached.Row, 0);
Assert.AreEqual(gridItem.Cached.Column, 0);
Assert.AreEqual(gridItem.Cached.ContainingGrid, itemsView);
}
}