public void GridLayouterRequestLayout() { tlog.Debug(tag, $"GridLayouterRequestLayout START"); var view = new CollectionView(new List <string>() { "123", "456", "789" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); gridLayouter.RequestLayout(5.0f); gridLayouter.RequestLayout(150.0f, true); view.Dispose(); gridLayouter.Dispose(); tlog.Debug(tag, $"GridLayouterRequestLayout END (OK)"); }
public void GridLayouterNotifyItemInserted() { tlog.Debug(tag, $"GridLayouterNotifyItemInserted"); var view = new CollectionView(new List <string>() { "123", "456" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); gridLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; gridLayouter.NotifyItemInserted(source, 0); source.Position = 4; gridLayouter.NotifyItemInserted(source, 0); gridLayouter.NotifyItemInserted(source, 1); var emptySource = new CustomEmptySource(); gridLayouter.NotifyItemInserted(emptySource, 1); var item = new RecyclerViewItem() { Size = new Size(200, 100), }; gridLayouter.NotifyItemSizeChanged(item); item.Dispose(); view.Dispose(); gridLayouter.Dispose(); source.Dispose(); emptySource.Dispose(); tlog.Debug(tag, $"GridLayouterNotifyItemInserted END (OK)"); }
public void GridLayouterRequestNextFocusableView() { tlog.Debug(tag, $"GridLayouterRequestNextFocusableView"); var view = new CollectionView(new List <string>() { "123", "456" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); gridLayouter.RequestLayout(100.0f); var source = new CustomGroupItemSource(view) { Position = 1, }; var orientationSize = gridLayouter.CalculateLayoutOrientationSize(); Assert.AreEqual(orientationSize, 6); var scrollPosition = gridLayouter.CalculateCandidateScrollPosition(0.0f); Assert.AreEqual(scrollPosition, 0.0f); gridLayouter.NotifyItemRangeInserted(source, 0, 10); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Up, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Down, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.PageUp, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.PageDown, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Left, true); gridLayouter.RequestNextFocusableView(view, View.FocusDirection.Right, true); view.Dispose(); gridLayouter.Dispose(); source.Dispose(); tlog.Debug(tag, $"GridLayouterRequestNextFocusableView END (OK)"); }
public void GridLayouterGetItemSize() { tlog.Debug(tag, $"GridLayouterGetItemSize START"); var view = new CollectionView(new List <string>() { "123", "456", "789" }) { Header = new RecyclerViewItem(), Footer = new RecyclerViewItem(), IsGrouped = true, }; Assert.IsNotNull(view, "Should not be null"); view.GroupFooterTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.GroupHeaderTemplate = new DataTemplate(typeof(RecyclerViewItem)); view.ItemTemplate = new DataTemplate(typeof(RecyclerViewItem)); var gridLayouter = new GridLayouter(); Assert.IsNotNull(gridLayouter, "Should not be null"); gridLayouter.Initialize(view); try { gridLayouter.GetItemSize(1); } catch (Exception e) { tlog.Debug(tag, e.Message.ToString()); Assert.Fail("Caught Exception : Failed!"); } view.Dispose(); gridLayouter.Dispose(); tlog.Debug(tag, $"GridLayouterGetItemSize END (OK)"); }