public void ValidateIndexPath() { RunOnUIThread.Execute(() => { IndexPath path = IndexPath.CreateFromIndices(null); Verify.AreEqual(0, path.GetSize()); path = IndexPath.CreateFrom(5); Verify.AreEqual(1, path.GetSize()); Verify.AreEqual(5, path.GetAt(0)); path = IndexPath.CreateFrom(1, 2); Verify.AreEqual(2, path.GetSize()); Verify.AreEqual(1, path.GetAt(0)); Verify.AreEqual(2, path.GetAt(1)); Verify.AreEqual(0, IndexPath.CreateFrom(0, 1).CompareTo(IndexPath.CreateFrom(0, 1))); Verify.AreEqual(-1, IndexPath.CreateFrom(0, 1).CompareTo(IndexPath.CreateFrom(1, 0))); Verify.AreEqual(1, IndexPath.CreateFrom(0, 1).CompareTo(IndexPath.CreateFrom(0, 0))); Verify.AreEqual(-1, IndexPath.CreateFrom(1, 0).CompareTo(IndexPath.CreateFrom(1, 1))); Verify.AreEqual(0, IndexPath.CreateFrom(1, 0).CompareTo(IndexPath.CreateFrom(1, 0))); Verify.AreEqual(1, IndexPath.CreateFrom(1, 1).CompareTo(IndexPath.CreateFrom(1, 0))); var emptyPath = IndexPath.CreateFromIndices(null); Verify.AreEqual(0, emptyPath.CompareTo(emptyPath)); var path1 = IndexPath.CreateFrom(1); Verify.AreEqual(-1, emptyPath.CompareTo(path1)); Verify.AreEqual(1, path1.CompareTo(emptyPath)); var path12 = IndexPath.CreateFrom(1, 2); Verify.AreEqual(-1, path1.CompareTo(path12)); Verify.AreEqual(1, path12.CompareTo(path1)); }); }
private object GetData(SelectionModel selectionModel, IndexPath indexPath) { var data = selectionModel.Source; for (int i = 0; i < indexPath.GetSize(); i++) { var listData = data as IList; data = listData[indexPath.GetAt(i)]; } return(data); }
private bool AreEqual(IndexPath a, IndexPath b) { if (a.GetSize() != b.GetSize()) { return(false); } for (int i = 0; i < a.GetSize(); i++) { if (a.GetAt(i) != b.GetAt(i)) { return(false); } } return(true); }